@grimoirelabs/cli 0.14.1 → 0.15.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.
Files changed (116) hide show
  1. package/dist/commands/advisory-handlers.d.ts.map +1 -1
  2. package/dist/commands/advisory-handlers.js +1 -180
  3. package/dist/commands/advisory-handlers.js.map +1 -1
  4. package/dist/commands/advisory-live-trace.d.ts.map +1 -1
  5. package/dist/commands/advisory-live-trace.js +1 -1
  6. package/dist/commands/advisory-live-trace.js.map +1 -1
  7. package/dist/commands/advisory-verbose-trace.d.ts +15 -0
  8. package/dist/commands/advisory-verbose-trace.d.ts.map +1 -0
  9. package/dist/commands/advisory-verbose-trace.js +185 -0
  10. package/dist/commands/advisory-verbose-trace.js.map +1 -0
  11. package/dist/commands/cast-cross-chain.d.ts +69 -0
  12. package/dist/commands/cast-cross-chain.d.ts.map +1 -0
  13. package/dist/commands/cast-cross-chain.js +456 -0
  14. package/dist/commands/cast-cross-chain.js.map +1 -0
  15. package/dist/commands/cast.d.ts +1 -1
  16. package/dist/commands/cast.d.ts.map +1 -1
  17. package/dist/commands/cast.js +84 -709
  18. package/dist/commands/cast.js.map +1 -1
  19. package/dist/commands/compile-all.d.ts +15 -2
  20. package/dist/commands/compile-all.d.ts.map +1 -1
  21. package/dist/commands/compile-all.js +16 -21
  22. package/dist/commands/compile-all.js.map +1 -1
  23. package/dist/commands/compile.d.ts +1 -1
  24. package/dist/commands/compile.d.ts.map +1 -1
  25. package/dist/commands/compile.js +22 -26
  26. package/dist/commands/compile.js.map +1 -1
  27. package/dist/commands/cross-chain-helpers.d.ts +0 -1
  28. package/dist/commands/cross-chain-helpers.d.ts.map +1 -1
  29. package/dist/commands/cross-chain-helpers.js +0 -3
  30. package/dist/commands/cross-chain-helpers.js.map +1 -1
  31. package/dist/commands/history.d.ts +1 -2
  32. package/dist/commands/history.d.ts.map +1 -1
  33. package/dist/commands/history.js +59 -69
  34. package/dist/commands/history.js.map +1 -1
  35. package/dist/commands/init.d.ts +5 -1
  36. package/dist/commands/init.d.ts.map +1 -1
  37. package/dist/commands/init.js +25 -20
  38. package/dist/commands/init.js.map +1 -1
  39. package/dist/commands/log.d.ts +1 -2
  40. package/dist/commands/log.d.ts.map +1 -1
  41. package/dist/commands/log.js +9 -12
  42. package/dist/commands/log.js.map +1 -1
  43. package/dist/commands/resume.d.ts +18 -1
  44. package/dist/commands/resume.d.ts.map +1 -1
  45. package/dist/commands/resume.js +44 -66
  46. package/dist/commands/resume.js.map +1 -1
  47. package/dist/commands/setup-ui.d.ts +46 -0
  48. package/dist/commands/setup-ui.d.ts.map +1 -0
  49. package/dist/commands/setup-ui.js +221 -0
  50. package/dist/commands/setup-ui.js.map +1 -0
  51. package/dist/commands/setup.d.ts +31 -3
  52. package/dist/commands/setup.d.ts.map +1 -1
  53. package/dist/commands/setup.js +27 -270
  54. package/dist/commands/setup.js.map +1 -1
  55. package/dist/commands/simulate-cross-chain.d.ts +53 -0
  56. package/dist/commands/simulate-cross-chain.d.ts.map +1 -0
  57. package/dist/commands/simulate-cross-chain.js +256 -0
  58. package/dist/commands/simulate-cross-chain.js.map +1 -0
  59. package/dist/commands/simulate.d.ts +5 -1
  60. package/dist/commands/simulate.d.ts.map +1 -1
  61. package/dist/commands/simulate.js +16 -364
  62. package/dist/commands/simulate.js.map +1 -1
  63. package/dist/commands/state-helpers.d.ts.map +1 -1
  64. package/dist/commands/state-helpers.js +1 -5
  65. package/dist/commands/state-helpers.js.map +1 -1
  66. package/dist/commands/validate.d.ts +24 -2
  67. package/dist/commands/validate.d.ts.map +1 -1
  68. package/dist/commands/validate.js +40 -42
  69. package/dist/commands/validate.js.map +1 -1
  70. package/dist/commands/venue-doctor-morpho.d.ts +38 -0
  71. package/dist/commands/venue-doctor-morpho.d.ts.map +1 -0
  72. package/dist/commands/venue-doctor-morpho.js +214 -0
  73. package/dist/commands/venue-doctor-morpho.js.map +1 -0
  74. package/dist/commands/venue-doctor.d.ts +2 -26
  75. package/dist/commands/venue-doctor.d.ts.map +1 -1
  76. package/dist/commands/venue-doctor.js +27 -229
  77. package/dist/commands/venue-doctor.js.map +1 -1
  78. package/dist/commands/venue.d.ts +1 -1
  79. package/dist/commands/venue.d.ts.map +1 -1
  80. package/dist/commands/venue.js +32 -122
  81. package/dist/commands/venue.js.map +1 -1
  82. package/dist/commands/venues.d.ts +1 -5
  83. package/dist/commands/venues.d.ts.map +1 -1
  84. package/dist/commands/venues.js +11 -10
  85. package/dist/commands/venues.js.map +1 -1
  86. package/dist/commands/wallet-weth.d.ts +22 -0
  87. package/dist/commands/wallet-weth.d.ts.map +1 -0
  88. package/dist/commands/wallet-weth.js +150 -0
  89. package/dist/commands/wallet-weth.js.map +1 -0
  90. package/dist/commands/wallet.d.ts +65 -3
  91. package/dist/commands/wallet.d.ts.map +1 -1
  92. package/dist/commands/wallet.js +183 -377
  93. package/dist/commands/wallet.js.map +1 -1
  94. package/dist/index.js +375 -170
  95. package/dist/index.js.map +1 -1
  96. package/dist/lib/execution-helpers.d.ts +24 -0
  97. package/dist/lib/execution-helpers.d.ts.map +1 -0
  98. package/dist/lib/execution-helpers.js +133 -0
  99. package/dist/lib/execution-helpers.js.map +1 -0
  100. package/dist/lib/json.d.ts +8 -0
  101. package/dist/lib/json.d.ts.map +1 -0
  102. package/dist/lib/json.js +10 -0
  103. package/dist/lib/json.js.map +1 -0
  104. package/dist/lib/keystore.d.ts +12 -0
  105. package/dist/lib/keystore.d.ts.map +1 -0
  106. package/dist/lib/keystore.js +14 -0
  107. package/dist/lib/keystore.js.map +1 -0
  108. package/dist/lib/prompts.d.ts +16 -0
  109. package/dist/lib/prompts.d.ts.map +1 -0
  110. package/dist/lib/prompts.js +61 -0
  111. package/dist/lib/prompts.js.map +1 -0
  112. package/dist/lib/venue-discovery.d.ts +44 -0
  113. package/dist/lib/venue-discovery.d.ts.map +1 -0
  114. package/dist/lib/venue-discovery.js +192 -0
  115. package/dist/lib/venue-discovery.js.map +1 -0
  116. package/package.json +4 -4
@@ -1,7 +1,8 @@
1
- import { createProvider, createVenueRegistry, } from "@grimoirelabs/core";
2
- import { adapters as bundledAdapters, getMorphoBlueMarketId, MORPHO_BLUE_DEFAULT_MARKETS, } from "@grimoirelabs/venues";
1
+ import { createProvider, createVenueRegistry } from "@grimoirelabs/core";
2
+ import { adapters as bundledAdapters } from "@grimoirelabs/venues";
3
3
  import chalk from "chalk";
4
- import { parseAbi } from "viem";
4
+ import { loadAllAdapters, normalizeAdapterName } from "../lib/venue-discovery.js";
5
+ import { collectMorphoBorrowReadiness, formatMorphoReadinessMessage, printMorphoBorrowReadinessSection, printTable, } from "./venue-doctor-morpho.js";
5
6
  const ADAPTER_FILTER_MAP = {
6
7
  aave: ["aave_v3"],
7
8
  "aave-v3": ["aave_v3"],
@@ -19,13 +20,6 @@ const ADAPTER_FILTER_MAP = {
19
20
  pendle: ["pendle"],
20
21
  polymarket: ["polymarket"],
21
22
  };
22
- const ERC20_ABI = parseAbi([
23
- "function balanceOf(address owner) view returns (uint256)",
24
- "function allowance(address owner, address spender) view returns (uint256)",
25
- ]);
26
- const MORPHO_ABI = parseAbi([
27
- "function position(bytes32 marketId, address user) view returns (uint256 supplyShares, uint128 borrowShares, uint128 collateral)",
28
- ]);
29
23
  export function parseVenueDoctorArgs(args) {
30
24
  const options = {};
31
25
  for (let i = 0; i < args.length; i++) {
@@ -202,9 +196,16 @@ export async function venueDoctorCommand(args, deps = {}) {
202
196
  adapters: [],
203
197
  };
204
198
  }
199
+ // Include external adapters when no explicit deps.adapters provided
200
+ if (!deps.adapters) {
201
+ const allAdapters = await loadAllAdapters();
202
+ if (allAdapters.length > bundledAdapters.length) {
203
+ deps = { ...deps, adapters: allAdapters };
204
+ }
205
+ }
205
206
  const report = await runVenueDoctor(parsed, deps);
206
207
  if (parsed.json) {
207
- console.log(JSON.stringify(report, (_key, value) => (typeof value === "bigint" ? value.toString() : value), 2));
208
+ console.error(JSON.stringify(report, (_key, value) => (typeof value === "bigint" ? value.toString() : value), 2));
208
209
  }
209
210
  else {
210
211
  printVenueDoctorReport(report);
@@ -212,37 +213,37 @@ export async function venueDoctorCommand(args, deps = {}) {
212
213
  return report;
213
214
  }
214
215
  export function printVenueDoctorUsage() {
215
- console.log("\nUsage:\n grimoire venue doctor [--chain <id>] [--adapter <name>] [--rpc-url <url>] [--json]\n\nExamples:\n grimoire venue doctor --chain 1\n grimoire venue doctor --adapter uniswap --chain 1 --rpc-url https://...\n");
216
+ console.error("\nUsage:\n grimoire venue doctor [--chain <id>] [--adapter <name>] [--rpc-url <url>] [--json]\n\nExamples:\n grimoire venue doctor --chain 1\n grimoire venue doctor --adapter uniswap --chain 1 --rpc-url https://...\n");
216
217
  }
217
218
  function printVenueDoctorReport(report) {
218
219
  const statusLabel = report.ok ? chalk.green("PASS") : chalk.red("FAIL");
219
- console.log(chalk.bold(`Venue Doctor: ${statusLabel}`));
220
- console.log(`Timestamp: ${report.timestamp}`);
220
+ console.error(chalk.bold(`Venue Doctor: ${statusLabel}`));
221
+ console.error(`Timestamp: ${report.timestamp}`);
221
222
  if (report.chainId !== undefined) {
222
- console.log(`Chain: ${report.chainId}`);
223
+ console.error(`Chain: ${report.chainId}`);
223
224
  }
224
225
  if (report.requestedAdapter) {
225
- console.log(`Adapter filter: ${report.requestedAdapter}`);
226
+ console.error(`Adapter filter: ${report.requestedAdapter}`);
226
227
  }
227
228
  if (report.rpcUrl) {
228
- console.log(`RPC: ${report.rpcUrl}`);
229
+ console.error(`RPC: ${report.rpcUrl}`);
229
230
  }
230
231
  if (report.rpcBlockNumber) {
231
- console.log(`Block: ${report.rpcBlockNumber}`);
232
+ console.error(`Block: ${report.rpcBlockNumber}`);
232
233
  }
233
- console.log();
234
- console.log(chalk.bold("Checks"));
234
+ console.error();
235
+ console.error(chalk.bold("Checks"));
235
236
  for (const check of report.checks) {
236
237
  const status = check.status === "pass"
237
238
  ? chalk.green("PASS")
238
239
  : check.status === "fail"
239
240
  ? chalk.red("FAIL")
240
241
  : chalk.yellow("SKIP");
241
- console.log(`- ${check.name}: ${status} (${check.message})`);
242
+ console.error(`- ${check.name}: ${status} (${check.message})`);
242
243
  }
243
244
  if (report.adapters.length > 0) {
244
- console.log();
245
- console.log(chalk.bold("Adapters"));
245
+ console.error();
246
+ console.error(chalk.bold("Adapters"));
246
247
  const headers = ["Name", "Registered", "Chain", "Required Env", "Missing Env"];
247
248
  const rows = report.adapters.map((adapter) => [
248
249
  adapter.name,
@@ -254,223 +255,20 @@ function printVenueDoctorReport(report) {
254
255
  printTable(headers, rows);
255
256
  }
256
257
  if (report.morphoBorrowReadiness) {
257
- const readiness = report.morphoBorrowReadiness;
258
- console.log();
259
- console.log(chalk.bold("Morpho Borrow Readiness"));
260
- console.log(`Status: ${readiness.status}`);
261
- if (readiness.walletAddress)
262
- console.log(`Wallet: ${readiness.walletAddress}`);
263
- if (readiness.marketId)
264
- console.log(`Market ID: ${readiness.marketId}`);
265
- if (readiness.marketOnchainId)
266
- console.log(`Market Onchain ID: ${readiness.marketOnchainId}`);
267
- if (readiness.loanToken)
268
- console.log(`Loan Token: ${readiness.loanToken}`);
269
- if (readiness.collateralToken)
270
- console.log(`Collateral Token: ${readiness.collateralToken}`);
271
- if (readiness.morphoAddress)
272
- console.log(`Morpho Address: ${readiness.morphoAddress}`);
273
- if (readiness.walletCollateralBalance !== undefined) {
274
- console.log(`Wallet Collateral Balance: ${readiness.walletCollateralBalance}`);
275
- }
276
- if (readiness.collateralAllowance !== undefined) {
277
- console.log(`Collateral Allowance: ${readiness.collateralAllowance}`);
278
- }
279
- if (readiness.positionCollateral !== undefined) {
280
- console.log(`Position Collateral: ${readiness.positionCollateral}`);
281
- }
282
- if (readiness.positionSupplyShares !== undefined) {
283
- console.log(`Position Supply Shares: ${readiness.positionSupplyShares}`);
284
- }
285
- if (readiness.positionBorrowShares !== undefined) {
286
- console.log(`Position Borrow Shares: ${readiness.positionBorrowShares}`);
287
- }
288
- if (readiness.reasons.length > 0) {
289
- console.log(`Reasons: ${readiness.reasons.join("; ")}`);
290
- }
291
- }
292
- }
293
- function printTable(headers, rows) {
294
- const widths = headers.map((header, index) => Math.max(header.length, ...rows.map((row) => row[index]?.length ?? 0)));
295
- const formatRow = (row) => row.map((cell, index) => cell.padEnd(widths[index] ?? 0)).join(" ");
296
- console.log(formatRow(headers));
297
- console.log(widths.map((width) => "-".repeat(width)).join(" "));
298
- for (const row of rows) {
299
- console.log(formatRow(row));
300
- }
301
- }
302
- const MORPHO_BLUE_ADDRESS = "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb";
303
- async function collectMorphoBorrowReadiness(input) {
304
- if (input.chainId === undefined) {
305
- return {
306
- status: "skip",
307
- borrowReady: false,
308
- reasons: ["Skipped Morpho readiness (provide --chain)."],
309
- };
310
- }
311
- const market = MORPHO_BLUE_DEFAULT_MARKETS.find((entry) => entry.chainId === input.chainId);
312
- if (!market) {
313
- return {
314
- status: "skip",
315
- borrowReady: false,
316
- reasons: [`No built-in Morpho market metadata available for chain ${input.chainId}.`],
317
- };
318
- }
319
- const walletAddress = readDoctorWalletAddress(input.env);
320
- const base = {
321
- status: "not_ready",
322
- borrowReady: false,
323
- walletAddress,
324
- marketId: market.id,
325
- marketOnchainId: getMorphoBlueMarketId(market),
326
- morphoAddress: MORPHO_BLUE_ADDRESS,
327
- loanToken: market.loanToken,
328
- collateralToken: market.collateralToken,
329
- reasons: [],
330
- };
331
- if (!walletAddress) {
332
- base.reasons.push("Wallet address missing. Set GRIMOIRE_WALLET_ADDRESS or WALLET_ADDRESS for Morpho diagnostics.");
333
- return base;
334
- }
335
- if (!input.provider?.getClient) {
336
- base.status = "skip";
337
- base.reasons.push("RPC provider unavailable for Morpho readiness checks.");
338
- return base;
339
- }
340
- const client = input.provider.getClient();
341
- if (typeof client?.readContract !== "function") {
342
- base.status = "skip";
343
- base.reasons.push("Provider client does not expose readContract.");
344
- return base;
345
- }
346
- const readContract = client.readContract;
347
- try {
348
- const [walletCollateralBalanceRaw, collateralAllowanceRaw, positionRaw] = await Promise.all([
349
- readContract({
350
- address: market.collateralToken,
351
- abi: ERC20_ABI,
352
- functionName: "balanceOf",
353
- args: [walletAddress],
354
- }),
355
- readContract({
356
- address: market.collateralToken,
357
- abi: ERC20_ABI,
358
- functionName: "allowance",
359
- args: [walletAddress, MORPHO_BLUE_ADDRESS],
360
- }),
361
- readContract({
362
- address: MORPHO_BLUE_ADDRESS,
363
- abi: MORPHO_ABI,
364
- functionName: "position",
365
- args: [getMorphoBlueMarketId(market), walletAddress],
366
- }),
367
- ]);
368
- const walletCollateralBalance = toBigIntOrZero(walletCollateralBalanceRaw);
369
- const collateralAllowance = toBigIntOrZero(collateralAllowanceRaw);
370
- const position = parseMorphoPosition(positionRaw);
371
- base.walletCollateralBalance = walletCollateralBalance.toString();
372
- base.collateralAllowance = collateralAllowance.toString();
373
- base.positionSupplyShares = position.supplyShares.toString();
374
- base.positionBorrowShares = position.borrowShares.toString();
375
- base.positionCollateral = position.collateral.toString();
376
- if (walletCollateralBalance <= 0n) {
377
- base.reasons.push("Wallet collateral token balance is zero.");
378
- }
379
- if (collateralAllowance <= 0n) {
380
- base.reasons.push("Collateral allowance to Morpho is zero.");
381
- }
382
- if (position.collateral <= 0n) {
383
- base.reasons.push("Position collateral is zero for selected market.");
384
- }
385
- }
386
- catch (error) {
387
- base.reasons.push(`Morpho readiness query failed: ${error.message}`);
388
- return base;
389
- }
390
- base.borrowReady = base.reasons.length === 0;
391
- base.status = base.borrowReady ? "ready" : "not_ready";
392
- return base;
393
- }
394
- function formatMorphoReadinessMessage(readiness) {
395
- const summary = readiness.status === "ready"
396
- ? "Borrow readiness checks passed."
397
- : readiness.status === "skip"
398
- ? "Morpho readiness checks skipped."
399
- : "Borrow readiness checks failed.";
400
- if (readiness.reasons.length === 0) {
401
- return summary;
402
- }
403
- return `${summary} ${readiness.reasons.join(" ")}`;
404
- }
405
- function parseMorphoPosition(value) {
406
- if (Array.isArray(value)) {
407
- return {
408
- supplyShares: toBigIntOrZero(value[0]),
409
- borrowShares: toBigIntOrZero(value[1]),
410
- collateral: toBigIntOrZero(value[2]),
411
- };
412
- }
413
- if (value && typeof value === "object") {
414
- const record = value;
415
- return {
416
- supplyShares: toBigIntOrZero(record.supplyShares ?? record["0"]),
417
- borrowShares: toBigIntOrZero(record.borrowShares ?? record["1"]),
418
- collateral: toBigIntOrZero(record.collateral ?? record["2"]),
419
- };
258
+ printMorphoBorrowReadinessSection(report.morphoBorrowReadiness);
420
259
  }
421
- return { supplyShares: 0n, borrowShares: 0n, collateral: 0n };
422
- }
423
- function toBigIntOrZero(value) {
424
- if (typeof value === "bigint") {
425
- return value;
426
- }
427
- if (typeof value === "number") {
428
- if (!Number.isFinite(value))
429
- return 0n;
430
- return BigInt(Math.floor(value));
431
- }
432
- if (typeof value === "string") {
433
- const trimmed = value.trim();
434
- if (!trimmed)
435
- return 0n;
436
- try {
437
- return BigInt(trimmed);
438
- }
439
- catch {
440
- return 0n;
441
- }
442
- }
443
- return 0n;
444
- }
445
- function readDoctorWalletAddress(env) {
446
- const candidate = env.GRIMOIRE_WALLET_ADDRESS ?? env.WALLET_ADDRESS ?? env.VAULT_ADDRESS;
447
- if (!candidate) {
448
- return undefined;
449
- }
450
- const trimmed = candidate.trim();
451
- if (/^0x[0-9a-fA-F]{40}$/.test(trimmed)) {
452
- return trimmed;
453
- }
454
- return undefined;
455
260
  }
456
261
  function selectAdapters(metas, adapterFilter) {
457
262
  if (!adapterFilter)
458
263
  return metas;
459
- const normalized = normalizeAdapterFilter(adapterFilter);
264
+ const normalized = normalizeAdapterName(adapterFilter);
460
265
  const mapped = ADAPTER_FILTER_MAP[normalized];
461
266
  const targetNames = new Set(mapped ?? [normalized.replace(/-/g, "_")]);
462
267
  return metas.filter((meta) => {
463
- const canonical = normalizeAdapterFilter(meta.name).replace(/-/g, "_");
268
+ const canonical = normalizeAdapterName(meta.name).replace(/-/g, "_");
464
269
  return targetNames.has(canonical);
465
270
  });
466
271
  }
467
- function normalizeAdapterFilter(value) {
468
- return value
469
- .trim()
470
- .toLowerCase()
471
- .replace(/^grimoire-/, "")
472
- .replace(/_/g, "-");
473
- }
474
272
  function resolveRpcUrl(chainId, explicitRpcUrl, env) {
475
273
  if (explicitRpcUrl && explicitRpcUrl.trim().length > 0) {
476
274
  return explicitRpcUrl.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"venue-doctor.js","sourceRoot":"","sources":["../../src/commands/venue-doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"venue-doctor.js","sourceRoot":"","sources":["../../src/commands/venue-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAqB,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAG5B,iCAAiC,EACjC,UAAU,GACX,MAAM,0BAA0B,CAAC;AA8ClC,MAAM,kBAAkB,GAA6B;IACnD,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,SAAS,EAAE,CAAC,SAAS,CAAC;IACtB,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,YAAY,EAAE,CAAC,YAAY,CAAC;IAC5B,UAAU,EAAE,CAAC,YAAY,CAAC;IAC1B,YAAY,EAAE,CAAC,YAAY,CAAC;IAC5B,UAAU,EAAE,CAAC,YAAY,CAAC;IAC1B,MAAM,EAAE,CAAC,aAAa,CAAC;IACvB,aAAa,EAAE,CAAC,aAAa,CAAC;IAC9B,WAAW,EAAE,CAAC,aAAa,CAAC;IAC5B,WAAW,EAAE,CAAC,aAAa,CAAC;IAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,UAAU,EAAE,CAAC,YAAY,CAAC;CAC3B,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;YAClF,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC3D,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC3D,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;YACvB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA2B,EAC3B,OAAwB,EAAE;IAE1B,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,cAAc,CAAC;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,aAAa,GAAmB,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,cAAc,GAClB,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxF,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS;YACjD,cAAc;YACd,WAAW;YACX,UAAU;SACX,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxE,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACxC,OAAO,EAAE,cAAc;YACrB,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,4CAA4C;KACjD,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC/B,OAAO,EAAE,KAAK;YACZ,CAAC,CAAC,iDAAiD;YACnD,CAAC,CAAC,kEAAkE;KACvE,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,4DAA4D;SACtE,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACjC,OAAO,EAAE,OAAO;gBACd,CAAC,CAAC,uCAAuC,OAAO,CAAC,OAAO,GAAG;gBAC3D,CAAC,CAAC,+CAA+C,OAAO,CAAC,OAAO,GAAG;SACtE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAA8B,CAAC;IACnC,IAAI,cAAkC,CAAC;IACvC,IAAI,sBAAgD,CAAC;IACrD,IAAI,qBAA8D,CAAC;IAEnE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,sDAAsD;SAChE,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACjE,sBAAsB,GAAG,QAAQ,CAAC;YAClC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;YACpD,cAAc,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACxC,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,sBAAsB,cAAc,GAAG;aACjD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,GAAG,YAAY,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAG,KAAe,CAAC,OAAO;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACjF,IAAI,cAAc,EAAE,CAAC;QACnB,qBAAqB,GAAG,MAAM,4BAA4B,CAAC;YACzD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,sBAAsB;YAChC,GAAG;SACJ,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EACJ,qBAAqB,CAAC,MAAM,KAAK,OAAO;gBACtC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,qBAAqB,CAAC,MAAM,KAAK,MAAM;oBACvC,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,MAAM;YACd,OAAO,EAAE,4BAA4B,CAAC,qBAAqB,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAE5D,OAAO;QACL,EAAE;QACF,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,gBAAgB,EAAE,OAAO,CAAC,OAAO;QACjC,MAAM,EAAE,UAAU;QAClB,cAAc;QACd,MAAM;QACN,QAAQ,EAAE,aAAa;QACvB,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAc,EACd,OAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,qBAAqB,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,IAAI;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAC;QAC5C,IAAI,WAAW,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;YAChD,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,IAAI,CAAC,SAAS,CACZ,MAAM,EACN,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EACvE,CAAC,CACF,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,KAAK,CACX,6NAA6N,CAC9N,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAyB;IACvD,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,KAAK,MAAM;YACrB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YACrB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM;gBACvB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,MAAM,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI;YACZ,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACjC,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC7E,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;YACrE,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;SACpE,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACjC,iCAAiC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,KAA6B,EAC7B,aAAiC;IAEjC,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IAEjC,MAAM,UAAU,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrE,OAAO,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CACpB,OAAe,EACf,cAAkC,EAClC,GAAuC;IAEvC,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;IAC9C,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Venue Command
3
3
  * Proxies venue metadata CLIs bundled in @grimoirelabs/venues
4
+ * and externally discovered grimoire-venue-* packages.
4
5
  */
5
- export declare const VENUE_CLI_MAP: Record<string, string>;
6
6
  export declare function normalizeAdapter(adapter: string): string;
7
7
  export declare function resolveVenueCliPath(cliName: string): string;
8
8
  export declare function venueCommand(adapter: string, args?: string[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"venue.d.ts","sourceRoot":"","sources":["../../src/commands/venue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWhD,CAAC;AAWF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAe3D;AAqDD,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CtF"}
1
+ {"version":3,"file":"venue.d.ts","sourceRoot":"","sources":["../../src/commands/venue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCtF"}
@@ -1,154 +1,64 @@
1
1
  /**
2
2
  * Venue Command
3
3
  * Proxies venue metadata CLIs bundled in @grimoirelabs/venues
4
+ * and externally discovered grimoire-venue-* packages.
4
5
  */
5
6
  import { spawnSync } from "node:child_process";
6
7
  import { existsSync } from "node:fs";
7
- import { createRequire } from "node:module";
8
- import path from "node:path";
9
- import { fileURLToPath } from "node:url";
8
+ import { buildVenueCliMap, discoverAllVenues, normalizeAdapterName, } from "../lib/venue-discovery.js";
10
9
  import { venueDoctorCommand } from "./venue-doctor.js";
11
- const require = createRequire(import.meta.url);
12
- export const VENUE_CLI_MAP = {
13
- aave: "aave",
14
- "aave-v3": "aave",
15
- uniswap: "uniswap",
16
- "uniswap-v3": "uniswap",
17
- "uniswap-v4": "uniswap",
18
- "morpho-blue": "morpho-blue",
19
- morpho: "morpho-blue",
20
- hyperliquid: "hyperliquid",
21
- pendle: "pendle",
22
- polymarket: "polymarket",
23
- };
24
- const PRIMARY_ADAPTERS = [
25
- { name: "aave", aliases: ["aave-v3"] },
26
- { name: "uniswap", aliases: ["uniswap-v3", "uniswap-v4"] },
27
- { name: "morpho-blue", aliases: ["morpho"] },
28
- { name: "hyperliquid", aliases: [] },
29
- { name: "pendle", aliases: [] },
30
- { name: "polymarket", aliases: [] },
31
- ];
32
10
  export function normalizeAdapter(adapter) {
33
- return adapter
34
- .toLowerCase()
35
- .replace(/^grimoire-/, "")
36
- .replace(/_/g, "-");
11
+ return normalizeAdapterName(adapter);
37
12
  }
38
13
  export function resolveVenueCliPath(cliName) {
39
- const venuesRoot = resolveVenuesRoot();
40
- const srcPath = path.join(venuesRoot, "src", "cli", `${cliName}.ts`);
41
- if (isBunRuntime() && existsSync(srcPath)) {
42
- return srcPath;
43
- }
44
- const distPath = path.join(venuesRoot, "dist", "cli", `${cliName}.js`);
45
- if (existsSync(distPath))
46
- return distPath;
47
- if (existsSync(srcPath)) {
48
- return srcPath;
49
- }
50
- return distPath;
51
- }
52
- function resolveVenuesRoot() {
53
- try {
54
- const venuesEntry = require.resolve("@grimoirelabs/venues");
55
- const venuesRoot = findPackageRootFromEntry(venuesEntry);
56
- if (venuesRoot)
57
- return venuesRoot;
58
- }
59
- catch {
60
- // no-op; handled by fallbacks
61
- }
62
- try {
63
- const venuesPkg = require.resolve("@grimoirelabs/venues/package.json");
64
- return path.dirname(venuesPkg);
65
- }
66
- catch {
67
- // no-op; handled by workspace fallback
68
- }
69
- const workspaceRoot = findWorkspaceVenuesRoot();
70
- if (workspaceRoot)
71
- return workspaceRoot;
72
- throw new Error("Unable to resolve @grimoirelabs/venues. Is it installed?");
73
- }
74
- function findPackageRootFromEntry(entryPath) {
75
- let current = path.dirname(entryPath);
76
- for (let i = 0; i < 6; i++) {
77
- const pkgPath = path.join(current, "package.json");
78
- const distCliPath = path.join(current, "dist", "cli");
79
- if (existsSync(pkgPath) && existsSync(distCliPath)) {
80
- return current;
81
- }
82
- const parent = path.dirname(current);
83
- if (parent === current)
84
- break;
85
- current = parent;
86
- }
87
- return null;
88
- }
89
- function findWorkspaceVenuesRoot() {
90
- let current = path.dirname(fileURLToPath(import.meta.url));
91
- for (let i = 0; i < 6; i++) {
92
- const candidate = path.join(current, "packages", "venues", "package.json");
93
- if (existsSync(candidate)) {
94
- return path.dirname(candidate);
95
- }
96
- const parent = path.dirname(current);
97
- if (parent === current)
98
- break;
99
- current = parent;
100
- }
101
- return null;
14
+ const manifests = discoverAllVenues();
15
+ const manifest = manifests.find((venue) => venue.name === cliName);
16
+ if (manifest)
17
+ return manifest.cli;
18
+ throw new Error(`Venue CLI "${cliName}" not found. Is @grimoirelabs/venues installed?`);
102
19
  }
103
20
  export async function venueCommand(adapter, args = []) {
104
21
  if (!adapter || adapter === "--help" || adapter === "-h") {
105
22
  printUsage();
106
23
  return;
107
24
  }
108
- const normalized = normalizeAdapter(adapter);
25
+ const normalized = normalizeAdapterName(adapter);
109
26
  if (normalized === "doctor") {
110
- try {
111
- const report = await venueDoctorCommand(args);
112
- if (!report.ok) {
113
- process.exit(1);
114
- }
115
- return;
116
- }
117
- catch (error) {
118
- console.error(error.message);
119
- process.exit(1);
27
+ const report = await venueDoctorCommand(args);
28
+ if (!report.ok) {
29
+ throw new Error("Venue doctor checks failed");
120
30
  }
31
+ return;
121
32
  }
122
- const cliName = VENUE_CLI_MAP[normalized];
33
+ const manifests = discoverAllVenues();
34
+ const cliMap = buildVenueCliMap(manifests);
35
+ const cliName = cliMap[normalized];
123
36
  if (!cliName) {
124
- const options = PRIMARY_ADAPTERS.map((adapter) => adapter.name).join(", ");
125
- console.error(`Unknown venue adapter "${adapter}". Available: ${options}`);
126
- console.error("Run `grimoire venue --help` or `grimoire venues` for a full list.");
127
- process.exit(1);
37
+ const options = manifests.map((venue) => venue.name).join(", ");
38
+ throw new Error(`Unknown venue adapter "${adapter}". Available: ${options}. Run 'grimoire venue --help' or 'grimoire venues' for a full list.`);
128
39
  }
129
40
  const cliPath = resolveVenueCliPath(cliName);
130
41
  if (!existsSync(cliPath)) {
131
- console.error(`Venue CLI not found at ${cliPath}. Build @grimoirelabs/venues or reinstall @grimoirelabs/cli.`);
132
- process.exit(1);
42
+ throw new Error(`Venue CLI not found at ${cliPath}. Build @grimoirelabs/venues or reinstall @grimoirelabs/cli.`);
133
43
  }
134
44
  const result = spawnSync(process.execPath, [cliPath, ...args], { stdio: "inherit" });
135
45
  if (result.error) {
136
- console.error(result.error instanceof Error ? result.error.message : String(result.error));
137
- process.exit(1);
46
+ throw new Error(result.error instanceof Error ? result.error.message : String(result.error));
138
47
  }
139
48
  const exitCode = result.status ?? (result.signal ? 1 : 0);
140
- process.exit(exitCode);
49
+ if (exitCode !== 0) {
50
+ throw new Error(`Venue CLI exited with code ${exitCode}`);
51
+ }
141
52
  }
142
53
  function printUsage() {
143
- const adapterLines = PRIMARY_ADAPTERS.map((adapter) => {
144
- if (adapter.aliases.length === 0)
145
- return ` - ${adapter.name}`;
146
- return ` - ${adapter.name} (aliases: ${adapter.aliases.join(", ")})`;
147
- }).join("\n");
148
- console.log(`\nUsage:\n grimoire venue <adapter> [args...]\n grimoire venue doctor [--chain <id>] [--adapter <name>] [--rpc-url <url>] [--json]\n\nAdapters:\n${adapterLines}\n\nExamples:\n grimoire venue morpho-blue vaults --chain 8453 --asset USDC --min-tvl 5000000 --format spell\n grimoire venue uniswap tokens --chain 1 --symbol USDC\n grimoire venue pendle chains\n grimoire venue polymarket markets --format json\n grimoire venue aave markets --chain 1\n grimoire venue doctor --chain 1 --adapter uniswap\n`);
149
- }
150
- function isBunRuntime() {
151
- const versions = process.versions;
152
- return typeof versions.bun === "string";
54
+ const manifests = discoverAllVenues();
55
+ const adapterLines = manifests
56
+ .map((venue) => {
57
+ if (!venue.aliases || venue.aliases.length === 0)
58
+ return ` - ${venue.name}`;
59
+ return ` - ${venue.name} (aliases: ${venue.aliases.join(", ")})`;
60
+ })
61
+ .join("\n");
62
+ console.error(`\nUsage:\n grimoire venue <adapter> [args...]\n grimoire venue doctor [--chain <id>] [--adapter <name>] [--rpc-url <url>] [--json]\n\nAdapters:\n${adapterLines}\n\nExamples:\n grimoire venue morpho-blue vaults --chain 8453 --asset USDC --min-tvl 5000000 --format spell\n grimoire venue uniswap tokens --chain 1 --symbol USDC\n grimoire venue pendle chains\n grimoire venue polymarket markets --format json\n grimoire venue aave markets --chain 1\n grimoire venue doctor --chain 1 --adapter uniswap\n`);
153
63
  }
154
64
  //# sourceMappingURL=venue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"venue.js","sourceRoot":"","sources":["../../src/commands/venue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"venue.js","sourceRoot":"","sources":["../../src/commands/venue.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,5 @@
2
2
  * Venues Command
3
3
  * Lists available adapters and supported chains
4
4
  */
5
- interface VenuesOptions {
6
- json?: boolean;
7
- }
8
- export declare function venuesCommand(options: VenuesOptions): Promise<void>;
9
- export {};
5
+ export declare function venuesCommand(): Promise<unknown[]>;
10
6
  //# sourceMappingURL=venues.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"venues.d.ts","sourceRoot":"","sources":["../../src/commands/venues.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDzE"}
1
+ {"version":3,"file":"venues.d.ts","sourceRoot":"","sources":["../../src/commands/venues.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAoCxD"}