@quantbrasil/cli 0.1.0-beta.3 → 0.1.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -11
- package/dist/cli/index.d.ts +4 -4
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +15 -12
- package/dist/commands/auth.d.ts +18 -0
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +49 -0
- package/dist/commands/market.d.ts +1 -0
- package/dist/commands/market.d.ts.map +1 -1
- package/dist/commands/market.js +17 -1
- package/dist/commands/portfolios.d.ts +148 -8
- package/dist/commands/portfolios.d.ts.map +1 -1
- package/dist/commands/portfolios.js +557 -55
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/vendor/core/capabilities/index.d.ts +0 -1
- package/dist/vendor/core/capabilities/index.d.ts.map +1 -1
- package/dist/vendor/core/capabilities/index.js +0 -1
- package/dist/vendor/core/capabilities/market.d.ts +9 -1
- package/dist/vendor/core/capabilities/market.d.ts.map +1 -1
- package/dist/vendor/core/capabilities/market.js +10 -0
- package/dist/vendor/core/capabilities/portfolios.d.ts +452 -56
- package/dist/vendor/core/capabilities/portfolios.d.ts.map +1 -1
- package/dist/vendor/core/capabilities/portfolios.js +434 -116
- package/dist/vendor/core/capabilities/registry.d.ts +714 -276
- package/dist/vendor/core/capabilities/registry.d.ts.map +1 -1
- package/dist/vendor/core/capabilities/registry.js +0 -2
- package/dist/vendor/core/capabilities/types.d.ts +1 -1
- package/dist/vendor/core/capabilities/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/skills/quantbrasil/SKILL.md +9 -6
- package/skills/quantbrasil/references/cli.md +25 -25
- package/skills/quantbrasil/references/costs.md +4 -4
- package/skills/quantbrasil/references/errors.md +6 -5
- package/skills/quantbrasil/references/portfolios.md +103 -0
- package/skills/quantbrasil/references/unsupported.md +5 -2
- package/skills/quantbrasil/references/workflows.md +38 -26
- package/dist/commands/analytics.d.ts +0 -131
- package/dist/commands/analytics.d.ts.map +0 -1
- package/dist/commands/analytics.js +0 -291
- package/dist/vendor/core/capabilities/analytics.d.ts +0 -187
- package/dist/vendor/core/capabilities/analytics.d.ts.map +0 -1
- package/dist/vendor/core/capabilities/analytics.js +0 -214
package/README.md
CHANGED
|
@@ -29,6 +29,7 @@ that file only exists inside this package.
|
|
|
29
29
|
```bash
|
|
30
30
|
# from monorepo/packages/cli
|
|
31
31
|
node ./bin/quantbrasil.js auth login --api-key qb_live_<id>.<secret>
|
|
32
|
+
node ./bin/quantbrasil.js whoami
|
|
32
33
|
node ./bin/quantbrasil.js skills install --all
|
|
33
34
|
node ./bin/quantbrasil.js --status
|
|
34
35
|
node ./bin/quantbrasil.js auth logout
|
|
@@ -48,6 +49,7 @@ compatible local or staging backend.
|
|
|
48
49
|
```bash
|
|
49
50
|
quantbrasil market assets
|
|
50
51
|
quantbrasil market assets --type B3
|
|
52
|
+
quantbrasil market assets --search BTC
|
|
51
53
|
quantbrasil market assets --json
|
|
52
54
|
quantbrasil market price PETR4
|
|
53
55
|
quantbrasil market price PETR4 --date 2026-04-10
|
|
@@ -55,16 +57,21 @@ quantbrasil market price PETR4 --json
|
|
|
55
57
|
quantbrasil assets overview PETR4 --sections price,performance
|
|
56
58
|
quantbrasil assets overview PETR4 --sections price,technicals
|
|
57
59
|
quantbrasil assets overview PETR4 --sections price,fundamentals --json
|
|
58
|
-
quantbrasil
|
|
59
|
-
quantbrasil
|
|
60
|
-
quantbrasil
|
|
61
|
-
quantbrasil
|
|
62
|
-
quantbrasil
|
|
63
|
-
quantbrasil
|
|
64
|
-
quantbrasil
|
|
65
|
-
quantbrasil
|
|
66
|
-
quantbrasil
|
|
67
|
-
quantbrasil
|
|
60
|
+
quantbrasil watchlists list
|
|
61
|
+
quantbrasil watchlists get 93
|
|
62
|
+
quantbrasil watchlists create "Dividendos"
|
|
63
|
+
quantbrasil watchlists add-assets 93 PETR4 VALE3
|
|
64
|
+
quantbrasil holdings list
|
|
65
|
+
quantbrasil holdings get 182
|
|
66
|
+
quantbrasil holdings create "Longo Prazo"
|
|
67
|
+
quantbrasil holdings create "Longo Prazo" --target PETR4:50 --target VALE3:50
|
|
68
|
+
quantbrasil holdings create "Carteira Real" --mode position
|
|
69
|
+
quantbrasil holdings set-targets 182 PETR4:50 VALE3:50
|
|
70
|
+
quantbrasil holdings set-positions 182 PRIO3:1600 BTC-USD:0.25 QQQ:10
|
|
71
|
+
quantbrasil holdings historical-return 182 --from 2025-01-01 --to 2026-01-01
|
|
72
|
+
quantbrasil holdings historical-return 182 --period 1y
|
|
73
|
+
quantbrasil holdings beta 182 --years 3
|
|
74
|
+
quantbrasil holdings var 182 --years 1 --confidence 95
|
|
68
75
|
```
|
|
69
76
|
|
|
70
77
|
## Local config
|
|
@@ -183,7 +190,7 @@ For commands that expose `--json`, failures are written to stderr as JSON:
|
|
|
183
190
|
"category": "auth",
|
|
184
191
|
"exit_code": 1,
|
|
185
192
|
"status": 401,
|
|
186
|
-
"path": "/api/desk/tools/
|
|
193
|
+
"path": "/api/desk/tools/watchlist/list",
|
|
187
194
|
"request_id": "req_..."
|
|
188
195
|
}
|
|
189
196
|
}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Command } from "commander";
|
|
|
2
2
|
import { type CapabilitiesCommandIO, runCapabilitiesCommand } from "../commands/capabilities.js";
|
|
3
3
|
import { runMarketAssetsCommand, runMarketPriceCommand } from "../commands/market.js";
|
|
4
4
|
import { runInitCommand } from "../commands/init.js";
|
|
5
|
-
import {
|
|
5
|
+
import { runHoldingCreateCommand, runHoldingBetaCommand, runHoldingGetCommand, runHoldingHistoricalReturnCommand, runHoldingListCommand, runHoldingRenameCommand, runHoldingSetPositionsCommand, runHoldingSetTargetsCommand, runHoldingVarCommand, runWatchlistAddAssetsCommand, runWatchlistCreateCommand, runWatchlistGetCommand, runWatchlistListCommand, runWatchlistRemoveAssetsCommand, runWatchlistRenameCommand } from "../commands/portfolios.js";
|
|
6
6
|
import { runSkillsInstallCommand } from "../commands/skills.js";
|
|
7
7
|
import { runStatusCommand } from "../commands/status.js";
|
|
8
8
|
import { type TerminalWriter } from "./terminal.js";
|
|
@@ -11,6 +11,7 @@ export interface CliProgramOptions {
|
|
|
11
11
|
env?: NodeJS.ProcessEnv;
|
|
12
12
|
fetch?: typeof fetch;
|
|
13
13
|
prompt?: (promptLabel: string) => Promise<string>;
|
|
14
|
+
now?: Date;
|
|
14
15
|
stderr?: TerminalWriter;
|
|
15
16
|
suppressCommanderErrors?: boolean;
|
|
16
17
|
}
|
|
@@ -19,12 +20,11 @@ export interface CliRunOptions extends CliProgramOptions {
|
|
|
19
20
|
}
|
|
20
21
|
export declare function createCliProgram(options?: CliProgramOptions): Command;
|
|
21
22
|
export declare function run(argv?: string[], options?: CliRunOptions): Promise<void>;
|
|
22
|
-
export {
|
|
23
|
-
export { runAuthLoginCommand, runAuthLogoutCommand } from "../commands/auth.js";
|
|
23
|
+
export { runAuthLoginCommand, runAuthLogoutCommand, runAuthWhoamiCommand, } from "../commands/auth.js";
|
|
24
24
|
export { runAssetOverviewCommand } from "../commands/assets.js";
|
|
25
25
|
export { runCapabilitiesCommand, runStatusCommand };
|
|
26
26
|
export { runInitCommand };
|
|
27
27
|
export { runMarketAssetsCommand, runMarketPriceCommand };
|
|
28
|
-
export {
|
|
28
|
+
export { runHoldingBetaCommand, runHoldingCreateCommand, runHoldingGetCommand, runHoldingHistoricalReturnCommand, runHoldingListCommand, runHoldingRenameCommand, runHoldingSetPositionsCommand, runHoldingSetTargetsCommand, runHoldingVarCommand, runWatchlistAddAssetsCommand, runWatchlistCreateCommand, runWatchlistGetCommand, runWatchlistListCommand, runWatchlistRemoveAssetsCommand, runWatchlistRenameCommand, };
|
|
29
29
|
export { runSkillsInstallCommand };
|
|
30
30
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EACL,KAAK,qBAAqB,EAE1B,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAGL,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,iCAAiC,EACjC,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAGL,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAQvE,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,qBAAqB,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CA2DzE;AAeD,wBAAsB,GAAG,CACvB,IAAI,WAAe,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAoCD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,iCAAiC,EACjC,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,+BAA+B,EAC/B,yBAAyB,GAC1B,CAAC;AACF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
2
|
import { Command } from "commander";
|
|
3
|
-
import { registerAnalyticsCommands, } from "../commands/analytics.js";
|
|
4
3
|
import { registerAssetsCommands, } from "../commands/assets.js";
|
|
5
|
-
import { registerAuthCommands, } from "../commands/auth.js";
|
|
4
|
+
import { registerAuthCommands, runAuthWhoamiCommand, } from "../commands/auth.js";
|
|
6
5
|
import { registerCapabilitiesCommand, runCapabilitiesCommand, } from "../commands/capabilities.js";
|
|
7
6
|
import { registerMarketCommands, runMarketAssetsCommand, runMarketPriceCommand, } from "../commands/market.js";
|
|
8
7
|
import { registerInitCommand, runInitCommand, } from "../commands/init.js";
|
|
9
|
-
import { registerPortfoliosCommands,
|
|
8
|
+
import { registerPortfoliosCommands, runHoldingCreateCommand, runHoldingBetaCommand, runHoldingGetCommand, runHoldingHistoricalReturnCommand, runHoldingListCommand, runHoldingRenameCommand, runHoldingSetPositionsCommand, runHoldingSetTargetsCommand, runHoldingVarCommand, runWatchlistAddAssetsCommand, runWatchlistCreateCommand, runWatchlistGetCommand, runWatchlistListCommand, runWatchlistRemoveAssetsCommand, runWatchlistRenameCommand, } from "../commands/portfolios.js";
|
|
10
9
|
import { registerSkillsCommands, runSkillsInstallCommand, } from "../commands/skills.js";
|
|
11
10
|
import { registerStatusFlag, runStatusCommand, } from "../commands/status.js";
|
|
12
11
|
import { buildCliErrorPayload, formatCliErrorMessage, normalizeCliError, shouldEmitJsonError, } from "./errors.js";
|
|
@@ -26,11 +25,6 @@ export function createCliProgram(options = {}) {
|
|
|
26
25
|
env: options.env,
|
|
27
26
|
fetch: options.fetch,
|
|
28
27
|
};
|
|
29
|
-
const analyticsContext = {
|
|
30
|
-
io: options.io,
|
|
31
|
-
env: options.env,
|
|
32
|
-
fetch: options.fetch,
|
|
33
|
-
};
|
|
34
28
|
const marketContext = {
|
|
35
29
|
io: options.io,
|
|
36
30
|
env: options.env,
|
|
@@ -46,6 +40,7 @@ export function createCliProgram(options = {}) {
|
|
|
46
40
|
io: options.io,
|
|
47
41
|
env: options.env,
|
|
48
42
|
fetch: options.fetch,
|
|
43
|
+
now: options.now,
|
|
49
44
|
};
|
|
50
45
|
const skillsContext = {
|
|
51
46
|
io: options.io,
|
|
@@ -65,8 +60,8 @@ export function createCliProgram(options = {}) {
|
|
|
65
60
|
configureCommanderOutput(program, options);
|
|
66
61
|
registerCapabilitiesCommand(program, options.io);
|
|
67
62
|
registerAuthCommands(program, authContext);
|
|
63
|
+
registerWhoamiCommand(program, authContext);
|
|
68
64
|
registerAssetsCommands(program, assetsContext);
|
|
69
|
-
registerAnalyticsCommands(program, analyticsContext);
|
|
70
65
|
registerInitCommand(program, initContext);
|
|
71
66
|
registerMarketCommands(program, marketContext);
|
|
72
67
|
registerPortfoliosCommands(program, portfoliosContext);
|
|
@@ -74,6 +69,15 @@ export function createCliProgram(options = {}) {
|
|
|
74
69
|
registerStatusFlag(program, statusContext);
|
|
75
70
|
return program;
|
|
76
71
|
}
|
|
72
|
+
function registerWhoamiCommand(program, context) {
|
|
73
|
+
program
|
|
74
|
+
.command("whoami")
|
|
75
|
+
.description("Show the authenticated QuantBrasil user")
|
|
76
|
+
.option("--json", "Show JSON output")
|
|
77
|
+
.action(async (options) => {
|
|
78
|
+
await runAuthWhoamiCommand(options, context);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
77
81
|
export async function run(argv = process.argv, options = {}) {
|
|
78
82
|
const emitJsonError = shouldEmitJsonError(argv);
|
|
79
83
|
const program = createCliProgram({
|
|
@@ -122,11 +126,10 @@ function isCommanderDisplayExit(error) {
|
|
|
122
126
|
return (error.code === "commander.helpDisplayed" ||
|
|
123
127
|
error.code === "commander.version");
|
|
124
128
|
}
|
|
125
|
-
export {
|
|
126
|
-
export { runAuthLoginCommand, runAuthLogoutCommand } from "../commands/auth.js";
|
|
129
|
+
export { runAuthLoginCommand, runAuthLogoutCommand, runAuthWhoamiCommand, } from "../commands/auth.js";
|
|
127
130
|
export { runAssetOverviewCommand } from "../commands/assets.js";
|
|
128
131
|
export { runCapabilitiesCommand, runStatusCommand };
|
|
129
132
|
export { runInitCommand };
|
|
130
133
|
export { runMarketAssetsCommand, runMarketPriceCommand };
|
|
131
|
-
export {
|
|
134
|
+
export { runHoldingBetaCommand, runHoldingCreateCommand, runHoldingGetCommand, runHoldingHistoricalReturnCommand, runHoldingListCommand, runHoldingRenameCommand, runHoldingSetPositionsCommand, runHoldingSetTargetsCommand, runHoldingVarCommand, runWatchlistAddAssetsCommand, runWatchlistCreateCommand, runWatchlistGetCommand, runWatchlistListCommand, runWatchlistRemoveAssetsCommand, runWatchlistRenameCommand, };
|
|
132
135
|
export { runSkillsInstallCommand };
|
package/dist/commands/auth.d.ts
CHANGED
|
@@ -11,7 +11,25 @@ export interface AuthCommandContext {
|
|
|
11
11
|
export interface AuthLoginCommandOptions {
|
|
12
12
|
apiKey: string;
|
|
13
13
|
}
|
|
14
|
+
export interface AuthWhoamiCommandOptions {
|
|
15
|
+
json?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface AuthWhoamiOutput {
|
|
18
|
+
ok: true;
|
|
19
|
+
user_id: number;
|
|
20
|
+
email: string;
|
|
21
|
+
name: string;
|
|
22
|
+
is_premium: boolean;
|
|
23
|
+
auth_source: "env" | "config";
|
|
24
|
+
api_key: {
|
|
25
|
+
id: number;
|
|
26
|
+
name: string;
|
|
27
|
+
key_prefix: string;
|
|
28
|
+
scopes: string[];
|
|
29
|
+
};
|
|
30
|
+
}
|
|
14
31
|
export declare function registerAuthCommands(program: Command, context?: AuthCommandContext): void;
|
|
15
32
|
export declare function runAuthLoginCommand(options: AuthLoginCommandOptions, context?: AuthCommandContext): Promise<void>;
|
|
16
33
|
export declare function runAuthLogoutCommand(context?: AuthCommandContext): Promise<void>;
|
|
34
|
+
export declare function runAuthWhoamiCommand(options?: AuthWhoamiCommandOptions, context?: AuthCommandContext): Promise<void>;
|
|
17
35
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,aAAa,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC9B,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,kBAAuB,GAC/B,IAAI,CA2BN;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,uBAAuB,EAChC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,wBAA6B,EACtC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|
package/dist/commands/auth.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { verifyCliApiKey } from "../cli/auth.js";
|
|
2
|
+
import { resolveRequiredCliAuth } from "../cli/client.js";
|
|
2
3
|
import { clearCliStoredAuth, saveCliApiKey } from "../cli/config.js";
|
|
3
4
|
import { createTerminalTheme } from "../cli/terminal.js";
|
|
4
5
|
export function registerAuthCommands(program, context = {}) {
|
|
@@ -18,6 +19,13 @@ export function registerAuthCommands(program, context = {}) {
|
|
|
18
19
|
.action(async () => {
|
|
19
20
|
await runAuthLogoutCommand(context);
|
|
20
21
|
});
|
|
22
|
+
authCommand
|
|
23
|
+
.command("whoami")
|
|
24
|
+
.description("Show the authenticated QuantBrasil user")
|
|
25
|
+
.option("--json", "Show JSON output")
|
|
26
|
+
.action(async (options) => {
|
|
27
|
+
await runAuthWhoamiCommand(options, context);
|
|
28
|
+
});
|
|
21
29
|
}
|
|
22
30
|
export async function runAuthLoginCommand(options, context = {}) {
|
|
23
31
|
const stdout = getStdout(context);
|
|
@@ -43,6 +51,47 @@ export async function runAuthLogoutCommand(context = {}) {
|
|
|
43
51
|
}
|
|
44
52
|
stdout.write(`${theme.dim(`No local API key was stored at ${configPath}.`)}\n`);
|
|
45
53
|
}
|
|
54
|
+
export async function runAuthWhoamiCommand(options = {}, context = {}) {
|
|
55
|
+
const stdout = getStdout(context);
|
|
56
|
+
const theme = createTerminalTheme(stdout, context.env ?? process.env);
|
|
57
|
+
const auth = await resolveRequiredCliAuth(context.env ?? process.env);
|
|
58
|
+
const verifiedAuth = await verifyCliApiKey(auth.apiKey, {
|
|
59
|
+
env: context.env,
|
|
60
|
+
fetch: context.fetch,
|
|
61
|
+
});
|
|
62
|
+
const output = {
|
|
63
|
+
ok: true,
|
|
64
|
+
user_id: verifiedAuth.userId,
|
|
65
|
+
email: verifiedAuth.email,
|
|
66
|
+
name: verifiedAuth.name,
|
|
67
|
+
is_premium: verifiedAuth.isPremium,
|
|
68
|
+
auth_source: auth.source,
|
|
69
|
+
api_key: {
|
|
70
|
+
id: verifiedAuth.apiKey.id,
|
|
71
|
+
name: verifiedAuth.apiKey.name,
|
|
72
|
+
key_prefix: verifiedAuth.apiKey.keyPrefix,
|
|
73
|
+
scopes: verifiedAuth.apiKey.scopes,
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
if (options.json) {
|
|
77
|
+
stdout.write(`${JSON.stringify(output, null, 2)}\n`);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
stdout.write(`${formatAuthWhoamiHuman(output, theme)}\n`);
|
|
81
|
+
}
|
|
82
|
+
function formatAuthWhoamiHuman(data, theme) {
|
|
83
|
+
const source = data.auth_source === "env" ? "QUANTBRASIL_API_KEY" : "local config";
|
|
84
|
+
return [
|
|
85
|
+
theme.label("QuantBrasil user"),
|
|
86
|
+
"",
|
|
87
|
+
`${theme.label("Email:")} ${theme.bold(data.email)}`,
|
|
88
|
+
`${theme.label("Name:")} ${data.name}`,
|
|
89
|
+
`${theme.label("User ID:")} ${data.user_id}`,
|
|
90
|
+
`${theme.label("Premium:")} ${data.is_premium ? "yes" : "no"}`,
|
|
91
|
+
`${theme.label("API key:")} ${data.api_key.name} ${theme.dim(`(${data.api_key.key_prefix})`)}`,
|
|
92
|
+
`${theme.label("Auth source:")} ${source}`,
|
|
93
|
+
].join("\n");
|
|
94
|
+
}
|
|
46
95
|
function getStdout(context) {
|
|
47
96
|
return context.io?.stdout ?? process.stdout;
|
|
48
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/commands/market.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,EAAE,CAAC,EAAE,eAAe,CAAC;CACtB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,oBAAyB,GACjC,IAAI,
|
|
1
|
+
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/commands/market.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,EAAE,CAAC,EAAE,eAAe,CAAC;CACtB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,oBAAyB,GACjC,IAAI,CA4BN;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,0BAA0B,EACnC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,yBAAyB,EAClC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAgBf;AAmDD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,uBAAuB,EAC7B,KAAK,6CAAsC,GAC1C,MAAM,CAgBR;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,mBAAmB,EACzB,KAAK,6CAAsC,GAC1C,MAAM,CAoCR"}
|
package/dist/commands/market.js
CHANGED
|
@@ -10,6 +10,7 @@ export function registerMarketCommands(program, context = {}) {
|
|
|
10
10
|
.command("assets")
|
|
11
11
|
.description("List the monitored QuantBrasil asset universe")
|
|
12
12
|
.option("--type <type>", `Filter by exact asset type (${monitoredAssetTypes.join(", ")})`)
|
|
13
|
+
.option("--search <text>", "Filter monitored tickers by text")
|
|
13
14
|
.option("--json", "Show JSON output")
|
|
14
15
|
.action(async (options) => {
|
|
15
16
|
await runMarketAssetsCommand(options, context);
|
|
@@ -29,9 +30,17 @@ export async function runMarketAssetsCommand(options, context = {}) {
|
|
|
29
30
|
const stdout = context.io?.stdout ?? process.stdout;
|
|
30
31
|
const theme = createTerminalTheme(stdout, context.env ?? process.env);
|
|
31
32
|
const assetType = normalizeMarketAssetType(options.type);
|
|
33
|
+
const search = normalizeMarketAssetSearch(options.search);
|
|
34
|
+
const input = {};
|
|
35
|
+
if (assetType) {
|
|
36
|
+
input.type = assetType;
|
|
37
|
+
}
|
|
38
|
+
if (search) {
|
|
39
|
+
input.search = search;
|
|
40
|
+
}
|
|
32
41
|
const response = await invokeCliCapability({
|
|
33
42
|
capability: "market.assets",
|
|
34
|
-
input
|
|
43
|
+
input,
|
|
35
44
|
env: context.env,
|
|
36
45
|
fetch: context.fetch,
|
|
37
46
|
});
|
|
@@ -69,6 +78,13 @@ function normalizeMarketAssetType(rawType) {
|
|
|
69
78
|
}
|
|
70
79
|
return normalized;
|
|
71
80
|
}
|
|
81
|
+
function normalizeMarketAssetSearch(rawSearch) {
|
|
82
|
+
if (!rawSearch) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
const normalized = rawSearch.trim();
|
|
86
|
+
return normalized || undefined;
|
|
87
|
+
}
|
|
72
88
|
function buildMarketPriceInput(ticker, options) {
|
|
73
89
|
const payload = {
|
|
74
90
|
ticker,
|
|
@@ -14,12 +14,52 @@ export interface PortfolioGetCommandOptions {
|
|
|
14
14
|
export interface PortfolioMutationCommandOptions {
|
|
15
15
|
json?: boolean;
|
|
16
16
|
}
|
|
17
|
+
export interface HoldingCreateCommandOptions {
|
|
18
|
+
mode?: string;
|
|
19
|
+
target?: string[];
|
|
20
|
+
json?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface HoldingSetTargetsCommandOptions {
|
|
23
|
+
json?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface HoldingSetPositionsCommandOptions {
|
|
26
|
+
json?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface HoldingHistoricalReturnCommandOptions {
|
|
29
|
+
from?: string;
|
|
30
|
+
to?: string;
|
|
31
|
+
period?: string;
|
|
32
|
+
json?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface HoldingBetaCommandOptions {
|
|
35
|
+
years?: string;
|
|
36
|
+
json?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface HoldingVarCommandOptions {
|
|
39
|
+
years?: string;
|
|
40
|
+
confidence?: string;
|
|
41
|
+
json?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface HoldingTargetInput {
|
|
44
|
+
[key: string]: JsonValue;
|
|
45
|
+
ticker: string;
|
|
46
|
+
weight_pct: number;
|
|
47
|
+
}
|
|
48
|
+
export interface HoldingPositionInput {
|
|
49
|
+
[key: string]: JsonValue;
|
|
50
|
+
ticker: string;
|
|
51
|
+
quantity: number;
|
|
52
|
+
}
|
|
17
53
|
export interface PortfolioOut {
|
|
18
54
|
[key: string]: JsonValue;
|
|
19
55
|
id: number;
|
|
20
56
|
name: string;
|
|
57
|
+
kind: "WATCHLIST" | "HOLDING" | "SYSTEM" | null;
|
|
21
58
|
symbols: string[];
|
|
22
59
|
weights: Record<string, number> | null;
|
|
60
|
+
default_allocation_input: "TARGET_WEIGHT" | "POSITION" | null;
|
|
61
|
+
has_target_weights: boolean;
|
|
62
|
+
has_positions: boolean;
|
|
23
63
|
}
|
|
24
64
|
export interface PortfolioListResponse {
|
|
25
65
|
[key: string]: JsonValue;
|
|
@@ -44,17 +84,117 @@ export interface PortfolioMutationResponse {
|
|
|
44
84
|
summary_markdown: string;
|
|
45
85
|
portfolio: PortfolioOut;
|
|
46
86
|
}
|
|
87
|
+
export interface HistoricalReturnHolding {
|
|
88
|
+
[key: string]: JsonValue;
|
|
89
|
+
ticker: string;
|
|
90
|
+
weight_pct: number;
|
|
91
|
+
total_return: number;
|
|
92
|
+
contribution: number;
|
|
93
|
+
}
|
|
94
|
+
export interface HistoricalReturnResponse {
|
|
95
|
+
[key: string]: JsonValue;
|
|
96
|
+
source_type: "saved_holding";
|
|
97
|
+
portfolio_id: number | null;
|
|
98
|
+
portfolio_name: string | null;
|
|
99
|
+
requested_start_date: string;
|
|
100
|
+
requested_end_date: string;
|
|
101
|
+
effective_start_date: string;
|
|
102
|
+
effective_end_date: string;
|
|
103
|
+
total_return: number;
|
|
104
|
+
annualized_return: number;
|
|
105
|
+
max_drawdown: number;
|
|
106
|
+
daily_volatility: number;
|
|
107
|
+
annualized_volatility: number;
|
|
108
|
+
sharpe_ratio: number;
|
|
109
|
+
ibov_return: number;
|
|
110
|
+
cdi_return: number;
|
|
111
|
+
ipca_return: number;
|
|
112
|
+
holdings: HistoricalReturnHolding[];
|
|
113
|
+
summary_markdown: string;
|
|
114
|
+
assumptions: string[];
|
|
115
|
+
warnings: string[];
|
|
116
|
+
}
|
|
117
|
+
export interface BetaHolding {
|
|
118
|
+
[key: string]: JsonValue;
|
|
119
|
+
ticker: string;
|
|
120
|
+
weight_pct: number;
|
|
121
|
+
beta: number | null;
|
|
122
|
+
weighted_beta: number | null;
|
|
123
|
+
correlation: number | null;
|
|
124
|
+
asset_daily_volatility: number | null;
|
|
125
|
+
benchmark_daily_volatility: number | null;
|
|
126
|
+
last_updated: string | null;
|
|
127
|
+
}
|
|
128
|
+
export interface BetaResponse {
|
|
129
|
+
[key: string]: JsonValue;
|
|
130
|
+
source_type: "saved_holding";
|
|
131
|
+
portfolio_id: number | null;
|
|
132
|
+
portfolio_name: string | null;
|
|
133
|
+
benchmark: "IBOV";
|
|
134
|
+
lookback_years: number;
|
|
135
|
+
beta: number;
|
|
136
|
+
correlation: number;
|
|
137
|
+
daily_volatility: number;
|
|
138
|
+
annualized_volatility: number;
|
|
139
|
+
long_exposure_pct: number;
|
|
140
|
+
short_exposure_pct: number;
|
|
141
|
+
total_weight_pct: number;
|
|
142
|
+
holdings: BetaHolding[];
|
|
143
|
+
summary_markdown: string;
|
|
144
|
+
assumptions: string[];
|
|
145
|
+
warnings: string[];
|
|
146
|
+
}
|
|
147
|
+
export interface VarHolding {
|
|
148
|
+
[key: string]: JsonValue;
|
|
149
|
+
ticker: string;
|
|
150
|
+
weight_pct: number;
|
|
151
|
+
}
|
|
152
|
+
export interface VarResponse {
|
|
153
|
+
[key: string]: JsonValue;
|
|
154
|
+
source_type: "saved_holding";
|
|
155
|
+
portfolio_id: number | null;
|
|
156
|
+
portfolio_name: string | null;
|
|
157
|
+
lookback_years: number;
|
|
158
|
+
confidence_pct: number;
|
|
159
|
+
time_horizon: "1d";
|
|
160
|
+
var: number;
|
|
161
|
+
long_exposure_pct: number;
|
|
162
|
+
short_exposure_pct: number;
|
|
163
|
+
total_weight_pct: number;
|
|
164
|
+
holdings: VarHolding[];
|
|
165
|
+
histogram_data: JsonValue[];
|
|
166
|
+
summary_markdown: string;
|
|
167
|
+
assumptions: string[];
|
|
168
|
+
warnings: string[];
|
|
169
|
+
}
|
|
47
170
|
export interface PortfoliosCommandContext extends CliInvokeContext {
|
|
48
171
|
io?: PortfoliosCommandIO;
|
|
172
|
+
now?: Date;
|
|
49
173
|
}
|
|
50
174
|
export declare function registerPortfoliosCommands(program: Command, context?: PortfoliosCommandContext): void;
|
|
51
|
-
export declare function
|
|
52
|
-
export declare function
|
|
53
|
-
export declare function
|
|
54
|
-
export declare function
|
|
55
|
-
export declare function
|
|
56
|
-
export declare function
|
|
57
|
-
export declare function
|
|
58
|
-
export declare function
|
|
175
|
+
export declare function runWatchlistListCommand(options: PortfolioListCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
176
|
+
export declare function runHoldingListCommand(options: PortfolioListCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
177
|
+
export declare function runWatchlistGetCommand(portfolioId: number, options: PortfolioGetCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
178
|
+
export declare function runHoldingGetCommand(portfolioId: number, options: PortfolioGetCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
179
|
+
export declare function runWatchlistCreateCommand(name: string, options: PortfolioMutationCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
180
|
+
export declare function runHoldingCreateCommand(name: string, options: HoldingCreateCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
181
|
+
export declare function runHoldingSetTargetsCommand(portfolioId: number, targets: string[], options: HoldingSetTargetsCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
182
|
+
export declare function runHoldingSetPositionsCommand(portfolioId: number, positions: string[], options: HoldingSetPositionsCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
183
|
+
export declare function runWatchlistRenameCommand(portfolioId: number, name: string, options: PortfolioMutationCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
184
|
+
export declare function runHoldingRenameCommand(portfolioId: number, name: string, options: PortfolioMutationCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
185
|
+
export declare function runWatchlistAddAssetsCommand(portfolioId: number, symbols: string[], options: PortfolioMutationCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
186
|
+
export declare function runWatchlistRemoveAssetsCommand(portfolioId: number, symbols: string[], options: PortfolioMutationCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
187
|
+
export declare function runHoldingHistoricalReturnCommand(portfolioId: number, options: HoldingHistoricalReturnCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
188
|
+
export declare function runHoldingBetaCommand(portfolioId: number, options: HoldingBetaCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
189
|
+
export declare function runHoldingVarCommand(portfolioId: number, options: HoldingVarCommandOptions, context?: PortfoliosCommandContext): Promise<void>;
|
|
190
|
+
export declare function formatPortfolioListHuman(data: PortfolioListResponse, theme?: import("../cli/terminal.js").TerminalTheme, title?: string): string;
|
|
191
|
+
export declare function formatPortfolioGetHuman(data: PortfolioGetResponse, theme?: import("../cli/terminal.js").TerminalTheme, title?: string): string;
|
|
59
192
|
export declare function formatPortfolioMutationHuman(data: PortfolioCreateResponse | PortfolioMutationResponse, theme?: import("../cli/terminal.js").TerminalTheme): string;
|
|
193
|
+
export declare function resolveHistoricalReturnDateRange(options: HoldingHistoricalReturnCommandOptions, now?: Date): {
|
|
194
|
+
start_date: string;
|
|
195
|
+
end_date: string;
|
|
196
|
+
};
|
|
197
|
+
export declare function formatHistoricalReturnHuman(data: HistoricalReturnResponse, theme?: import("../cli/terminal.js").TerminalTheme): string;
|
|
198
|
+
export declare function formatBetaHuman(data: BetaResponse, theme?: import("../cli/terminal.js").TerminalTheme): string;
|
|
199
|
+
export declare function formatVarHuman(data: VarResponse, theme?: import("../cli/terminal.js").TerminalTheme): string;
|
|
60
200
|
//# sourceMappingURL=portfolios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolios.d.ts","sourceRoot":"","sources":["../../src/commands/portfolios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAK9E,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"portfolios.d.ts","sourceRoot":"","sources":["../../src/commands/portfolios.ts"],"names":[],"mappings":"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"}
|