@hightop/cli 0.1.1 → 0.1.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Hightop, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/cli.d.ts CHANGED
@@ -46,4 +46,3 @@ export type HightopAgentCliClient = {
46
46
  export type HightopAgentCliClientFactory = (config: HightopAgentClientConfig) => HightopAgentCliClient;
47
47
  export declare function runCli(argv: string[], io: CliIo, createClient?: HightopAgentCliClientFactory): Promise<number>;
48
48
  export {};
49
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.js CHANGED
@@ -1,25 +1,31 @@
1
1
  import { readFileSync } from 'fs';
2
2
  import { dirname, join } from 'path';
3
3
  import { fileURLToPath } from 'url';
4
- import { agentApiEndpoints, buildAgentApiPath, createIdempotencyKey, HightopAgentClient, HightopAgentSDKError, } from '@hightop/sdk';
4
+ import { agentApiEndpoints, buildAgentApiPath, createIdempotencyKey, HightopAgentClient, HightopAgentOperationWaitTimeoutError, HightopAgentSDKError, } from '@hightop/sdk';
5
+ import { buildCliEndpointCommands, commandDisplayName, endpointCanSimulate as commandEndpointCanSimulate, endpointCanWait, KNOWN_BOOLEAN_REQUEST_FIELDS, requestFieldNames, } from './commandMetadata.js';
6
+ import { SIMULATABLE_ENDPOINT_KEYS } from './simulatableEndpointKeys.js';
5
7
  class CliUsageError extends Error {
6
8
  constructor(message) {
7
9
  super(message);
8
10
  this.name = 'CliUsageError';
9
11
  }
10
12
  }
11
- const KNOWN_BOOLEAN_REQUEST_FIELDS = [
12
- 'allow_conversion',
13
- 'allow_partial',
14
- 'enabled',
15
- 'move_all',
16
- 'remove_all',
17
- 'repay_all',
18
- 'to_best_available',
19
- 'use_available_cash_first',
20
- 'use_best_available',
21
- 'withdraw_all',
22
- ];
13
+ class CliWriteError extends Error {
14
+ cause;
15
+ idempotencyKey;
16
+ mode = 'submit';
17
+ response;
18
+ constructor(input) {
19
+ const message = input.cause instanceof Error ? input.cause.message : String(input.cause);
20
+ super(message);
21
+ this.name = 'CliWriteError';
22
+ this.cause = input.cause;
23
+ this.idempotencyKey = input.idempotencyKey;
24
+ this.response = input.response;
25
+ }
26
+ }
27
+ const BOOLEAN_REQUEST_FIELDS = new Set(KNOWN_BOOLEAN_REQUEST_FIELDS);
28
+ const NULLABLE_REQUEST_FIELDS = new Set(['body', 'description', 'note']);
23
29
  const BOOLEAN_FLAGS = new Set([
24
30
  'help',
25
31
  'include-onchain',
@@ -73,119 +79,22 @@ function flagValues(parsed, name) {
73
79
  return parsed.flags.get(name) ?? [];
74
80
  }
75
81
  function hasFlag(parsed, name) {
76
- return parsed.flags.has(name);
77
- }
78
- function endpointSegments(endpoint) {
79
- return endpoint.path
80
- .replace(/^\/v1\/agent\/?/, '')
81
- .split('/')
82
- .filter(Boolean);
83
- }
84
- function endpointPathParamsAfterCommand(endpoint) {
85
- return endpoint.pathParams.filter((param) => !endpoint.queryParams.includes(param) && !endpoint.bodyParams.includes(param));
86
- }
87
- function commandUsage(commandPath, endpoint, pathParamsAfterCommand) {
88
- const pathSuffix = pathParamsAfterCommand.map((param) => ` <${param}>`).join('');
89
- const flags = [...endpoint.queryParams, ...endpoint.bodyParams]
90
- .filter((param) => !endpoint.pathParams.includes(param))
91
- .map((param) => ` [--${param.replace(/_/g, '-')} <value>]`)
92
- .join('');
93
- const submitFlags = endpoint.idempotencyRequired ? ' [--idempotency-key <key>] [--wait] [--simulate]' : '';
94
- return `hightop ${commandPath.join(' ')}${pathSuffix}${flags}${submitFlags}`;
95
- }
96
- function commandFromEndpoint(endpoint) {
97
- const segments = endpointSegments(endpoint);
98
- const pathParamsAfterCommand = endpointPathParamsAfterCommand(endpoint);
99
- const staticSegments = segments.filter((segment) => !segment.startsWith('{'));
100
- if (endpoint.path === '/v1/agent/capabilities.json') {
101
- return { commandPath: ['capabilities', 'json'], pathParamsAfterCommand };
102
- }
103
- if (endpoint.method === 'GET' && endpoint.pathParams.length === 0) {
104
- return { commandPath: staticSegments, pathParamsAfterCommand };
105
- }
106
- if (endpoint.method === 'GET' && endpoint.pathParams.length > 0) {
107
- const tail = staticSegments.slice(1);
108
- if (tail.length > 0) {
109
- return { commandPath: [staticSegments[0], ...tail], pathParamsAfterCommand };
110
- }
111
- return { commandPath: [staticSegments[0], 'get'], pathParamsAfterCommand };
112
- }
113
- if (endpoint.method === 'POST') {
114
- if (endpoint.pathParams.length > 0) {
115
- return { commandPath: staticSegments, pathParamsAfterCommand };
116
- }
117
- if (staticSegments.length === 1) {
118
- if (staticSegments[0] === 'conversions') {
119
- return { commandPath: ['conversions', 'execute'], pathParamsAfterCommand };
120
- }
121
- return { commandPath: [staticSegments[0], 'create'], pathParamsAfterCommand };
122
- }
123
- return { commandPath: staticSegments, pathParamsAfterCommand };
124
- }
125
- if (endpoint.method === 'PATCH') {
126
- return { commandPath: [staticSegments[0], 'update'], pathParamsAfterCommand };
82
+ if (!parsed.flags.has(name)) {
83
+ return false;
127
84
  }
128
- if (endpoint.method === 'DELETE') {
129
- return { commandPath: [staticSegments[0], 'delete'], pathParamsAfterCommand };
85
+ if (!BOOLEAN_FLAGS.has(name)) {
86
+ return true;
130
87
  }
131
- return { commandPath: staticSegments, pathParamsAfterCommand };
88
+ return flag(parsed, name) !== 'false';
132
89
  }
133
- function buildCliEndpointCommands() {
134
- const commands = agentApiEndpoints
135
- .filter((endpoint) => endpoint.key !== 'POST /v1/agent/simulate')
136
- .flatMap((endpoint) => {
137
- const primary = commandFromEndpoint(endpoint);
138
- const aliases = [primary];
139
- if (endpoint.key === 'GET /v1/agent/self/usage') {
140
- aliases.push({ commandPath: ['usage'], pathParamsAfterCommand: [] });
141
- }
142
- if (endpoint.method === 'GET' &&
143
- endpoint.pathParams.length === 0 &&
144
- endpoint.queryParams.some((param) => param === 'cursor' || param === 'limit')) {
145
- aliases.push({ commandPath: [...primary.commandPath, 'list'], pathParamsAfterCommand: [] });
146
- }
147
- return aliases.map((alias) => ({
148
- commandPath: alias.commandPath,
149
- endpoint,
150
- pathParamsAfterCommand: alias.pathParamsAfterCommand,
151
- usage: commandUsage(alias.commandPath, endpoint, alias.pathParamsAfterCommand),
152
- }));
153
- });
154
- commands.push({
155
- commandPath: ['openapi'],
156
- endpoint: {
157
- bodyParams: [],
158
- bodySchema: null,
159
- description: 'Return the public Agent API OpenAPI document.',
160
- idempotencyRequired: false,
161
- key: 'GET /v1/agent/openapi.json',
162
- method: 'GET',
163
- path: '/v1/agent/openapi.json',
164
- pathParams: [],
165
- queryParams: [],
166
- requestSchema: null,
167
- requestType: null,
168
- responseSchema: null,
169
- responseType: null,
170
- routeClass: 'read',
171
- },
172
- pathParamsAfterCommand: [],
173
- usage: 'hightop openapi',
174
- });
175
- const seen = new Set();
176
- return commands.filter((command) => {
177
- const key = command.commandPath.join(' ');
178
- if (seen.has(key)) {
179
- return false;
180
- }
181
- seen.add(key);
182
- return true;
183
- });
90
+ function isRecord(value) {
91
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
184
92
  }
185
- const CLI_ENDPOINT_COMMANDS = buildCliEndpointCommands();
186
- function commandDisplayName(command) {
187
- const suffix = command.pathParamsAfterCommand.map((param) => ` <${param}>`).join('');
188
- return `${command.commandPath.join(' ')}${suffix}`;
93
+ const CLI_ENDPOINT_COMMANDS = buildCliEndpointCommands(agentApiEndpoints, {
94
+ simulatableEndpointKeys: SIMULATABLE_ENDPOINT_KEYS,
95
+ });
96
+ function endpointCanSimulate(endpoint) {
97
+ return commandEndpointCanSimulate(endpoint, SIMULATABLE_ENDPOINT_KEYS);
189
98
  }
190
99
  function formatGlobalHelp() {
191
100
  const commandLines = CLI_ENDPOINT_COMMANDS.map((command) => ({
@@ -241,13 +150,18 @@ function formatCommandHelp(commandPath) {
241
150
  const exact = matches.find((command) => command.commandPath.length === commandPath.length);
242
151
  if (exact && matches.length === 1) {
243
152
  const endpoint = exact.endpoint;
244
- const requestFlags = [...endpoint.queryParams, ...endpoint.bodyParams].filter((param) => !endpoint.pathParams.includes(param));
153
+ const requestFlags = requestFieldNames(endpoint);
245
154
  const flagLines = requestFlags.length > 0
246
155
  ? `\nRequest flags:\n${requestFlags.map((param) => ` --${param.replace(/_/g, '-')} <value>`).join('\n')}\n`
247
156
  : '';
248
- const submitLines = endpoint.idempotencyRequired
249
- ? '\nSubmit options:\n --idempotency-key <key>\n --simulate\n --wait\n --wait-timeout-ms <ms>\n'
250
- : '';
157
+ const submitOptions = endpoint.idempotencyRequired
158
+ ? [
159
+ ' --idempotency-key <key>',
160
+ ...(endpointCanSimulate(endpoint) ? [' --simulate'] : []),
161
+ ...(endpointCanWait(endpoint) ? [' --wait', ' --wait-timeout-ms <ms>'] : []),
162
+ ]
163
+ : [];
164
+ const submitLines = submitOptions.length > 0 ? `\nSubmit options:\n${submitOptions.join('\n')}\n` : '';
251
165
  return `Usage:
252
166
  ${exact.usage}
253
167
 
@@ -416,13 +330,16 @@ function flagNameForField(field) {
416
330
  return field.replace(/_/g, '-');
417
331
  }
418
332
  function parseRequestValue(field, value) {
419
- if (value === 'true') {
420
- return true;
421
- }
422
- if (value === 'false') {
423
- return false;
333
+ if (BOOLEAN_REQUEST_FIELDS.has(field)) {
334
+ if (value === 'true') {
335
+ return true;
336
+ }
337
+ if (value === 'false') {
338
+ return false;
339
+ }
340
+ throw new CliUsageError(`--${flagNameForField(field)} must be true or false`);
424
341
  }
425
- if (value === 'null') {
342
+ if (NULLABLE_REQUEST_FIELDS.has(field) && value === 'null') {
426
343
  return null;
427
344
  }
428
345
  if (NUMBER_REQUEST_FIELDS.has(field)) {
@@ -509,13 +426,23 @@ async function executeGeneratedEndpointCommand(client, parsed) {
509
426
  }
510
427
  const { body, pathParams, payload } = buildEndpointPayload(parsed, match.command, match.remaining);
511
428
  const endpoint = match.command.endpoint;
429
+ const waitRequested = hasFlag(parsed, 'wait');
430
+ if (waitRequested && !endpointCanWait(endpoint)) {
431
+ throw new CliUsageError(`--wait is not supported for ${match.command.commandPath.join(' ')}`);
432
+ }
433
+ const waitTimeoutMs = waitRequested
434
+ ? parsePositiveInteger(flag(parsed, 'wait-timeout-ms'), 'wait-timeout-ms')
435
+ : undefined;
512
436
  if (endpoint.key === 'GET /v1/agent/openapi.json') {
513
437
  return {
514
438
  matched: true,
515
439
  result: await client.rawRequest({ method: 'GET', path: '/v1/agent/openapi.json' }),
516
440
  };
517
441
  }
518
- if (hasFlag(parsed, 'simulate') && endpoint.method !== 'GET') {
442
+ if (hasFlag(parsed, 'simulate') && !endpointCanSimulate(endpoint)) {
443
+ throw new CliUsageError(`--simulate is not supported for ${match.command.commandPath.join(' ')}`);
444
+ }
445
+ if (hasFlag(parsed, 'simulate') && endpointCanSimulate(endpoint)) {
519
446
  return {
520
447
  matched: true,
521
448
  result: {
@@ -534,7 +461,16 @@ async function executeGeneratedEndpointCommand(client, parsed) {
534
461
  idempotencyKey = flag(parsed, 'idempotency-key') ?? createIdempotencyKey();
535
462
  options.idempotencyKey = idempotencyKey;
536
463
  }
537
- const response = (await client.request(endpoint.key, payload, options));
464
+ let response;
465
+ try {
466
+ response = (await client.request(endpoint.key, payload, options));
467
+ }
468
+ catch (error) {
469
+ if (idempotencyKey) {
470
+ throw new CliWriteError({ cause: error, idempotencyKey });
471
+ }
472
+ throw error;
473
+ }
538
474
  if (!endpoint.idempotencyRequired) {
539
475
  return { matched: true, result: response };
540
476
  }
@@ -543,15 +479,38 @@ async function executeGeneratedEndpointCommand(client, parsed) {
543
479
  mode: 'submit',
544
480
  response,
545
481
  };
546
- if (hasFlag(parsed, 'wait') && typeof response.operation_id === 'string') {
547
- output.wait = await client.operations.wait(response.operation_id, {
548
- timeoutMs: parsePositiveInteger(flag(parsed, 'wait-timeout-ms'), 'wait-timeout-ms'),
549
- });
482
+ if (waitRequested) {
483
+ if (typeof response.operation_id !== 'string') {
484
+ throw new CliWriteError({
485
+ cause: new CliUsageError('--wait was requested but the response did not include operation_id'),
486
+ idempotencyKey: idempotencyKey,
487
+ response,
488
+ });
489
+ }
490
+ try {
491
+ output.wait = await client.operations.wait(response.operation_id, {
492
+ timeoutMs: waitTimeoutMs,
493
+ });
494
+ }
495
+ catch (error) {
496
+ throw new CliWriteError({
497
+ cause: error,
498
+ idempotencyKey: idempotencyKey,
499
+ response,
500
+ });
501
+ }
550
502
  }
551
503
  return { matched: true, result: output };
552
504
  }
553
505
  async function submitWrite(parsed, client, input) {
554
506
  const body = compactObject(input.body);
507
+ const waitRequested = hasFlag(parsed, 'wait');
508
+ if (waitRequested && input.canWait === false) {
509
+ throw new CliUsageError(`--wait is not supported for ${input.path}`);
510
+ }
511
+ const waitTimeoutMs = waitRequested
512
+ ? parsePositiveInteger(flag(parsed, 'wait-timeout-ms'), 'wait-timeout-ms')
513
+ : undefined;
555
514
  if (hasFlag(parsed, 'simulate')) {
556
515
  return {
557
516
  mode: 'simulate',
@@ -563,16 +522,34 @@ async function submitWrite(parsed, client, input) {
563
522
  };
564
523
  }
565
524
  const idempotencyKey = flag(parsed, 'idempotency-key') ?? createIdempotencyKey();
566
- const response = await input.execute(body, { idempotencyKey });
525
+ let response;
526
+ try {
527
+ response = await input.execute(body, { idempotencyKey });
528
+ }
529
+ catch (error) {
530
+ throw new CliWriteError({ cause: error, idempotencyKey });
531
+ }
567
532
  const output = {
568
533
  idempotency_key: idempotencyKey,
569
534
  mode: 'submit',
570
535
  response,
571
536
  };
572
- if (hasFlag(parsed, 'wait') && typeof response.operation_id === 'string') {
573
- output.wait = await client.operations.wait(response.operation_id, {
574
- timeoutMs: parsePositiveInteger(flag(parsed, 'wait-timeout-ms'), 'wait-timeout-ms'),
575
- });
537
+ if (waitRequested) {
538
+ if (typeof response.operation_id !== 'string') {
539
+ throw new CliWriteError({
540
+ cause: new CliUsageError('--wait was requested but the response did not include operation_id'),
541
+ idempotencyKey,
542
+ response,
543
+ });
544
+ }
545
+ try {
546
+ output.wait = await client.operations.wait(response.operation_id, {
547
+ timeoutMs: waitTimeoutMs,
548
+ });
549
+ }
550
+ catch (error) {
551
+ throw new CliWriteError({ cause: error, idempotencyKey, response });
552
+ }
576
553
  }
577
554
  return output;
578
555
  }
@@ -635,6 +612,7 @@ async function executeCommand(client, parsed) {
635
612
  });
636
613
  return submitWrite(parsed, client, {
637
614
  body,
615
+ canWait: false,
638
616
  execute: (payload, options) => client.conversions.quote(payload, options),
639
617
  method: 'POST',
640
618
  path: '/v1/agent/conversions/quote',
@@ -708,6 +686,21 @@ async function executeCommand(client, parsed) {
708
686
  throw new CliUsageError(`Unknown command: ${parsed.positionals.join(' ')}`);
709
687
  }
710
688
  function errorBody(error) {
689
+ if (error instanceof CliWriteError) {
690
+ const causeBody = errorBody(error.cause);
691
+ return {
692
+ ok: false,
693
+ idempotency_key: error.idempotencyKey,
694
+ mode: error.mode,
695
+ ...(error.response !== undefined ? { response: error.response } : {}),
696
+ error: isRecord(causeBody.error)
697
+ ? causeBody.error
698
+ : {
699
+ code: 'cli_error',
700
+ message: error.message,
701
+ },
702
+ };
703
+ }
711
704
  if (error instanceof HightopAgentSDKError) {
712
705
  return {
713
706
  ok: false,
@@ -715,10 +708,21 @@ function errorBody(error) {
715
708
  code: error.code ?? 'request_failed',
716
709
  details: error.agentError?.details,
717
710
  message: error.message,
711
+ ...(error.requestId ? { request_id: error.requestId } : {}),
718
712
  status: error.status,
719
713
  },
720
714
  };
721
715
  }
716
+ if (error instanceof HightopAgentOperationWaitTimeoutError) {
717
+ return {
718
+ ok: false,
719
+ error: {
720
+ code: 'operation_wait_timeout',
721
+ message: error.message,
722
+ ...(error.operation ? { operation: error.operation } : {}),
723
+ },
724
+ };
725
+ }
722
726
  return {
723
727
  ok: false,
724
728
  error: {
@@ -750,4 +754,3 @@ export async function runCli(argv, io, createClient = (config) => new HightopAge
750
754
  return error instanceof CliUsageError ? 2 : 1;
751
755
  }
752
756
  }
753
- //# sourceMappingURL=cli.js.map
@@ -0,0 +1,37 @@
1
+ export type CliEndpointMetadata = {
2
+ readonly key: string;
3
+ readonly method: string;
4
+ readonly path: string;
5
+ readonly pathParams: readonly string[];
6
+ readonly queryParams: readonly string[];
7
+ readonly bodyParams: readonly string[];
8
+ readonly requestSchema: string | null;
9
+ readonly bodySchema: string | null;
10
+ readonly responseSchema: string | null;
11
+ readonly requestType: string | null;
12
+ readonly responseType: string | null;
13
+ readonly idempotencyRequired: boolean;
14
+ readonly routeClass: string;
15
+ readonly description: string;
16
+ };
17
+ export type CliEndpointCommand = {
18
+ commandPath: string[];
19
+ endpoint: CliEndpointMetadata;
20
+ pathParamsAfterCommand: string[];
21
+ requestFlags: string[];
22
+ usage: string;
23
+ canSimulate: boolean;
24
+ canWait: boolean;
25
+ };
26
+ type BuildCliEndpointCommandOptions = {
27
+ simulatableEndpointKeys: ReadonlySet<string>;
28
+ };
29
+ export declare const KNOWN_BOOLEAN_REQUEST_FIELDS: readonly ["allow_conversion", "allow_partial", "enabled", "move_all", "remove_all", "repay_all", "to_best_available", "use_available_cash_first", "use_best_available", "withdraw_all"];
30
+ export declare function flagNameForField(field: string): string;
31
+ export declare function requestFieldNames(endpoint: CliEndpointMetadata): string[];
32
+ export declare function requestFlags(endpoint: CliEndpointMetadata): string[];
33
+ export declare function endpointCanWait(endpoint: CliEndpointMetadata): boolean;
34
+ export declare function endpointCanSimulate(endpoint: CliEndpointMetadata, simulatableEndpointKeys: ReadonlySet<string>): boolean;
35
+ export declare function commandDisplayName(command: Pick<CliEndpointCommand, 'commandPath' | 'pathParamsAfterCommand'>): string;
36
+ export declare function buildCliEndpointCommands(metadata: readonly CliEndpointMetadata[], options: BuildCliEndpointCommandOptions): CliEndpointCommand[];
37
+ export {};
@@ -0,0 +1,151 @@
1
+ export const KNOWN_BOOLEAN_REQUEST_FIELDS = [
2
+ 'allow_conversion',
3
+ 'allow_partial',
4
+ 'enabled',
5
+ 'move_all',
6
+ 'remove_all',
7
+ 'repay_all',
8
+ 'to_best_available',
9
+ 'use_available_cash_first',
10
+ 'use_best_available',
11
+ 'withdraw_all',
12
+ ];
13
+ export function flagNameForField(field) {
14
+ return field.replace(/_/g, '-');
15
+ }
16
+ export function requestFieldNames(endpoint) {
17
+ return [...endpoint.queryParams, ...endpoint.bodyParams].filter((param) => !endpoint.pathParams.includes(param));
18
+ }
19
+ export function requestFlags(endpoint) {
20
+ return requestFieldNames(endpoint).map((param) => `--${flagNameForField(param)}`);
21
+ }
22
+ export function endpointCanWait(endpoint) {
23
+ return ['AgentApiWriteResponse', 'AgentApiX402SignResponse', 'AgentApiX402PurchaseResponse'].includes(endpoint.responseType ?? '');
24
+ }
25
+ export function endpointCanSimulate(endpoint, simulatableEndpointKeys) {
26
+ return simulatableEndpointKeys.has(endpoint.key);
27
+ }
28
+ export function commandDisplayName(command) {
29
+ const suffix = command.pathParamsAfterCommand.map((param) => ` <${param}>`).join('');
30
+ return `${command.commandPath.join(' ')}${suffix}`;
31
+ }
32
+ function endpointSegments(endpoint) {
33
+ return endpoint.path
34
+ .replace(/^\/v1\/agent\/?/, '')
35
+ .split('/')
36
+ .filter(Boolean);
37
+ }
38
+ function endpointPathParamsAfterCommand(endpoint) {
39
+ return endpoint.pathParams.filter((param) => !endpoint.queryParams.includes(param) && !endpoint.bodyParams.includes(param));
40
+ }
41
+ function commandUsage(commandPath, endpoint, pathParamsAfterCommand, options) {
42
+ const pathSuffix = pathParamsAfterCommand.map((param) => ` <${param}>`).join('');
43
+ const flags = requestFlags(endpoint)
44
+ .map((flag) => ` [${flag} <value>]`)
45
+ .join('');
46
+ const waitFlag = endpointCanWait(endpoint) ? ' [--wait]' : '';
47
+ const simulateFlag = endpointCanSimulate(endpoint, options.simulatableEndpointKeys) ? ' [--simulate]' : '';
48
+ const submitFlags = endpoint.idempotencyRequired ? ` [--idempotency-key <key>]${waitFlag}${simulateFlag}` : '';
49
+ return `hightop ${commandPath.join(' ')}${pathSuffix}${flags}${submitFlags}`;
50
+ }
51
+ function commandFromEndpoint(endpoint) {
52
+ const segments = endpointSegments(endpoint);
53
+ const pathParamsAfterCommand = endpointPathParamsAfterCommand(endpoint);
54
+ const staticSegments = segments.filter((segment) => !segment.startsWith('{'));
55
+ if (endpoint.path === '/v1/agent/capabilities.json') {
56
+ return { commandPath: ['capabilities', 'json'], pathParamsAfterCommand };
57
+ }
58
+ if (endpoint.method === 'GET' && endpoint.pathParams.length === 0) {
59
+ return { commandPath: staticSegments, pathParamsAfterCommand };
60
+ }
61
+ if (endpoint.method === 'GET' && endpoint.pathParams.length > 0) {
62
+ const tail = staticSegments.slice(1);
63
+ if (tail.length > 0) {
64
+ return { commandPath: [staticSegments[0], ...tail], pathParamsAfterCommand };
65
+ }
66
+ return { commandPath: [staticSegments[0], 'get'], pathParamsAfterCommand };
67
+ }
68
+ if (endpoint.method === 'POST') {
69
+ if (endpoint.pathParams.length > 0) {
70
+ return { commandPath: staticSegments, pathParamsAfterCommand };
71
+ }
72
+ if (staticSegments.length === 1) {
73
+ if (staticSegments[0] === 'conversions') {
74
+ return { commandPath: ['conversions', 'execute'], pathParamsAfterCommand };
75
+ }
76
+ return { commandPath: [staticSegments[0], 'create'], pathParamsAfterCommand };
77
+ }
78
+ return { commandPath: staticSegments, pathParamsAfterCommand };
79
+ }
80
+ if (endpoint.method === 'PATCH') {
81
+ return { commandPath: [staticSegments[0], 'update'], pathParamsAfterCommand };
82
+ }
83
+ if (endpoint.method === 'DELETE') {
84
+ return { commandPath: [staticSegments[0], 'delete'], pathParamsAfterCommand };
85
+ }
86
+ return { commandPath: staticSegments, pathParamsAfterCommand };
87
+ }
88
+ function openApiEndpoint() {
89
+ return {
90
+ bodyParams: [],
91
+ bodySchema: null,
92
+ description: 'Return the public Agent API OpenAPI document.',
93
+ idempotencyRequired: false,
94
+ key: 'GET /v1/agent/openapi.json',
95
+ method: 'GET',
96
+ path: '/v1/agent/openapi.json',
97
+ pathParams: [],
98
+ queryParams: [],
99
+ requestSchema: null,
100
+ requestType: null,
101
+ responseSchema: null,
102
+ responseType: null,
103
+ routeClass: 'read',
104
+ };
105
+ }
106
+ export function buildCliEndpointCommands(metadata, options) {
107
+ const commands = metadata
108
+ .filter((endpoint) => endpoint.key !== 'POST /v1/agent/simulate')
109
+ .flatMap((endpoint) => {
110
+ const primary = commandFromEndpoint(endpoint);
111
+ const aliases = [primary];
112
+ if (endpoint.key === 'GET /v1/agent/self/usage') {
113
+ aliases.push({ commandPath: ['usage'], pathParamsAfterCommand: [] });
114
+ }
115
+ if (endpoint.method === 'GET' &&
116
+ endpoint.pathParams.length === 0 &&
117
+ endpoint.queryParams.some((param) => param === 'cursor' || param === 'limit')) {
118
+ aliases.push({ commandPath: [...primary.commandPath, 'list'], pathParamsAfterCommand: [] });
119
+ }
120
+ return aliases.map((alias) => ({
121
+ commandPath: alias.commandPath,
122
+ endpoint,
123
+ pathParamsAfterCommand: alias.pathParamsAfterCommand,
124
+ requestFlags: requestFlags(endpoint),
125
+ usage: commandUsage(alias.commandPath, endpoint, alias.pathParamsAfterCommand, options),
126
+ canSimulate: endpointCanSimulate(endpoint, options.simulatableEndpointKeys),
127
+ canWait: endpointCanWait(endpoint),
128
+ }));
129
+ });
130
+ const openapi = openApiEndpoint();
131
+ commands.push({
132
+ commandPath: ['openapi'],
133
+ endpoint: openapi,
134
+ pathParamsAfterCommand: [],
135
+ requestFlags: [],
136
+ usage: 'hightop openapi',
137
+ canSimulate: false,
138
+ canWait: false,
139
+ });
140
+ const seen = new Set();
141
+ return commands
142
+ .filter((command) => {
143
+ const key = command.commandPath.join(' ');
144
+ if (seen.has(key)) {
145
+ return false;
146
+ }
147
+ seen.add(key);
148
+ return true;
149
+ })
150
+ .sort((a, b) => commandDisplayName(a).localeCompare(commandDisplayName(b)));
151
+ }
package/dist/index.d.ts CHANGED
@@ -5,4 +5,3 @@ interface WritableOutput {
5
5
  export declare function main(argv?: string[], output?: WritableOutput): Promise<number>;
6
6
  export declare function isDirectCliExecution(entryUrl?: string, argvPath?: string): boolean;
7
7
  export {};
8
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -23,4 +23,3 @@ if (isDirectCliExecution()) {
23
23
  process.exitCode = 1;
24
24
  });
25
25
  }
26
- //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ export declare const SIMULATABLE_ENDPOINT_KEYS: ReadonlySet<string>;
@@ -0,0 +1,23 @@
1
+ // CLI-supported write routes that may be routed through POST /v1/agent/simulate.
2
+ // Keep this in sync with compatible entries in src/backend/agentApi/simulate.ts.
3
+ const SIMULATABLE_ENDPOINT_KEY_VALUES = [
4
+ 'POST /v1/agent/payments',
5
+ 'POST /v1/agent/one-off-payments',
6
+ 'POST /v1/agent/conversions/quote',
7
+ 'POST /v1/agent/conversions',
8
+ 'POST /v1/agent/earn/deposit',
9
+ 'POST /v1/agent/earn/withdraw',
10
+ 'POST /v1/agent/earn/move',
11
+ 'POST /v1/agent/earn/rewards/claim',
12
+ 'POST /v1/agent/borrow',
13
+ 'POST /v1/agent/borrow/repay',
14
+ 'POST /v1/agent/borrow/deleverage',
15
+ 'POST /v1/agent/borrow/collateral/add',
16
+ 'POST /v1/agent/borrow/collateral/remove',
17
+ 'POST /v1/agent/withdrawals/to-bank',
18
+ 'POST /v1/agent/withdrawals/to-crypto',
19
+ 'POST /v1/agent/trusted-destinations/{id}/confirm',
20
+ 'POST /v1/agent/trusted-destinations/{id}/cancel',
21
+ 'DELETE /v1/agent/trusted-destinations/{id}',
22
+ ];
23
+ export const SIMULATABLE_ENDPOINT_KEYS = new Set(SIMULATABLE_ENDPOINT_KEY_VALUES);
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@hightop/cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "bin": {
7
- "hightop": "./dist/index.js"
7
+ "hightop": "dist/index.js"
8
8
  },
9
9
  "main": "./dist/index.js",
10
10
  "types": "./dist/index.d.ts",
@@ -18,7 +18,8 @@
18
18
  "dist",
19
19
  ".env.example",
20
20
  "README.md",
21
- "package.json"
21
+ "package.json",
22
+ "LICENSE"
22
23
  ],
23
24
  "engines": {
24
25
  "node": ">=20"
@@ -29,7 +30,8 @@
29
30
  "directory": "packages/cli"
30
31
  },
31
32
  "publishConfig": {
32
- "access": "public"
33
+ "access": "public",
34
+ "provenance": false
33
35
  },
34
36
  "scripts": {
35
37
  "prebuild": "npm --workspace @hightop/sdk run build",
@@ -39,6 +41,6 @@
39
41
  "test": "vitest run --config vitest.config.ts"
40
42
  },
41
43
  "dependencies": {
42
- "@hightop/sdk": "0.1.1"
44
+ "@hightop/sdk": "0.1.4"
43
45
  }
44
46
  }
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAOA,UAAU,cAAc;IACtB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAC9B;AAED,wBAAsB,IAAI,CAAC,IAAI,WAAwB,EAAE,MAAM,GAAE,cAA+B,GAAG,OAAO,CAAC,MAAM,CAAC,CAEjH;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,SAAkB,EAAE,QAAQ,SAAkB,GAAG,OAAO,CAUpG"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMjC,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAyB,OAAO,CAAC,MAAM;IAC9F,OAAO,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAA;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,IAAI,oBAAoB,EAAE,EAAE,CAAC;IAC3B,IAAI,EAAE,CAAC,IAAI,CACT,CAAC,QAAQ,EAAE,EAAE;QACX,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC7B,CAAC,EACD,GAAG,EAAE;QACH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACtB,CAAC,CACF,CAAA;AACH,CAAC"}