@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 +21 -0
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +147 -144
- package/dist/commandMetadata.d.ts +37 -0
- package/dist/commandMetadata.js +151 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/simulatableEndpointKeys.d.ts +1 -0
- package/dist/simulatableEndpointKeys.js +23 -0
- package/package.json +7 -5
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
'
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
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 (
|
|
129
|
-
return
|
|
85
|
+
if (!BOOLEAN_FLAGS.has(name)) {
|
|
86
|
+
return true;
|
|
130
87
|
}
|
|
131
|
-
return
|
|
88
|
+
return flag(parsed, name) !== 'false';
|
|
132
89
|
}
|
|
133
|
-
function
|
|
134
|
-
|
|
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
|
-
|
|
187
|
-
|
|
188
|
-
|
|
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 =
|
|
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
|
|
249
|
-
?
|
|
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 (
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
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
|
|
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
|
-
|
|
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 (
|
|
547
|
-
|
|
548
|
-
|
|
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
|
-
|
|
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 (
|
|
573
|
-
|
|
574
|
-
|
|
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
package/dist/index.js
CHANGED
|
@@ -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.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"hightop": "
|
|
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.
|
|
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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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -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"}
|