deepline 0.3.474 → 0.3.475
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/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-rate-scope.ts +39 -15
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-rate-state.ts +18 -8
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +59 -34
- package/dist/cli/auth-7GVCW24N.js +41 -0
- package/dist/cli/{auth-QMANU5PV.mjs → auth-CFDYJ7FZ.mjs} +5 -5
- package/dist/cli/{billing-YJAP4VZN.mjs → billing-PEXWWLRT.mjs} +6 -6
- package/dist/cli/{billing-WZ5POBZX.js → billing-XLIL3FLK.js} +79 -79
- package/dist/cli/{chunk-PGKELBIY.js → chunk-3MQJJ6YX.js} +51 -51
- package/dist/cli/{chunk-Z27NSLPC.mjs → chunk-3QSFSHCJ.mjs} +1 -1
- package/dist/cli/{chunk-UKX4FESF.mjs → chunk-3WVA7E7O.mjs} +2 -2
- package/dist/cli/{chunk-JEYX3345.mjs → chunk-42F6LTBJ.mjs} +3 -3
- package/dist/cli/{chunk-BB4RZMWA.mjs → chunk-4QHAP3MR.mjs} +5 -5
- package/dist/cli/{chunk-IK3VOGDR.js → chunk-4QHQ3WYW.js} +21 -21
- package/dist/cli/{chunk-YVJ6IWVD.mjs → chunk-6PRYHABU.mjs} +1 -1
- package/dist/cli/{chunk-3ODBCZLL.js → chunk-7SWRXZ4A.js} +93 -93
- package/dist/cli/{chunk-MNK4ZK2C.mjs → chunk-7U3L2S7X.mjs} +10 -10
- package/dist/cli/{chunk-475V572K.js → chunk-7XTBEYLS.js} +36 -36
- package/dist/cli/{chunk-MKSB2FTU.mjs → chunk-AD7KL6AI.mjs} +4 -4
- package/dist/cli/{chunk-ORQYKA4I.js → chunk-B7NJ5JQ2.js} +4 -4
- package/dist/cli/{chunk-RXITRC37.js → chunk-BLW2K6YH.js} +3 -3
- package/dist/cli/{chunk-JSXMJSBE.js → chunk-BSK2TGB4.js} +8 -8
- package/dist/cli/{chunk-KKWQ24VM.mjs → chunk-BVAYLXMH.mjs} +2 -2
- package/dist/cli/{chunk-JCNJQH6X.js → chunk-CKSRTD45.js} +1 -1
- package/dist/cli/{chunk-G3UHAYRX.js → chunk-D3Q4FUFS.js} +8 -8
- package/dist/cli/{chunk-MXUJVCKV.mjs → chunk-D6SXN34W.mjs} +4 -4
- package/dist/cli/{chunk-26CZVDQN.mjs → chunk-DIMKSDF6.mjs} +2 -2
- package/dist/cli/{chunk-YX762HFK.mjs → chunk-EA45HSEC.mjs} +2 -2
- package/dist/cli/{chunk-LHOEWAVD.js → chunk-F4FNMXI3.js} +53 -53
- package/dist/cli/{chunk-THDXVSNL.mjs → chunk-FC4C7MZM.mjs} +4 -4
- package/dist/cli/{chunk-N62MS3XJ.js → chunk-G4SGYWKV.js} +6 -6
- package/dist/cli/{chunk-ZRWQKTSX.mjs → chunk-HALAYT3Y.mjs} +3 -3
- package/dist/cli/{chunk-7IYOWIEJ.mjs → chunk-HMHH7JQD.mjs} +2 -2
- package/dist/cli/{chunk-XP7FAYLN.js → chunk-KTWXY73Q.js} +5 -5
- package/dist/cli/{chunk-3MZPWIOE.mjs → chunk-M27SSAQ7.mjs} +1 -1
- package/dist/cli/{chunk-RLQIGBFK.js → chunk-M4QO3GRD.js} +3 -3
- package/dist/cli/{chunk-4C34LGI4.js → chunk-M7K5BCWP.js} +10 -10
- package/dist/cli/{chunk-RGIQ5ZJX.mjs → chunk-MUDOASYL.mjs} +2 -2
- package/dist/cli/{chunk-YFDTF2XC.js → chunk-NBVYS6VG.js} +9 -9
- package/dist/cli/{chunk-YK64UZXN.mjs → chunk-NGOKBSBH.mjs} +1 -1
- package/dist/cli/{chunk-35SZHTRW.mjs → chunk-NHQP4UPJ.mjs} +5 -5
- package/dist/cli/{chunk-AIPTW3EK.js → chunk-QKMWQTMI.js} +3 -3
- package/dist/cli/{chunk-3NRZFMX4.js → chunk-TLPW2SHS.js} +6 -6
- package/dist/cli/{chunk-XNP7XTBN.js → chunk-TZRTT7EI.js} +26 -26
- package/dist/cli/{chunk-STLJYWUC.js → chunk-U3F63UWD.js} +7 -7
- package/dist/cli/{chunk-AWJKYS25.js → chunk-VBGPRRJ6.js} +2 -2
- package/dist/cli/{chunk-EIKONWW7.mjs → chunk-VD3E3QMI.mjs} +1 -1
- package/dist/cli/{chunk-DQZBERDL.mjs → chunk-VFP3MFLD.mjs} +1 -1
- package/dist/cli/{chunk-ZGC2SUAA.mjs → chunk-VTCXSICG.mjs} +2 -2
- package/dist/cli/{chunk-UGYLGT7B.mjs → chunk-YAAQNDP6.mjs} +1 -1
- package/dist/cli/{chunk-JJVYUKLY.mjs → chunk-YMS7VYFA.mjs} +1 -1
- package/dist/cli/{chunk-CXBEZAPU.js → chunk-Z5VSBCFV.js} +16 -16
- package/dist/cli/{chunk-YKNULB7V.js → chunk-ZANUM4XV.js} +5 -5
- package/dist/cli/{chunk-EK2TAZJZ.js → chunk-ZQYBKDPA.js} +2 -2
- package/dist/cli/{csv-ENKCFCSM.js → csv-4YHSYV2C.js} +13 -13
- package/dist/cli/{csv-QCLQOIEA.mjs → csv-WC7ILC7P.mjs} +4 -4
- package/dist/cli/{db-5TLBZDT3.js → db-APZNM2GI.js} +27 -27
- package/dist/cli/{db-P25LGP33.mjs → db-I5PV6NTC.mjs} +6 -6
- package/dist/cli/describe-OR7FZBCD.js +48 -0
- package/dist/cli/{describe-W2H5DHR6.mjs → describe-XH5F3X5W.mjs} +17 -17
- package/dist/cli/{executions-VYZCYUBR.mjs → executions-PIY4XM7T.mjs} +6 -6
- package/dist/cli/{executions-YHFAWJOJ.js → executions-VIXFKZYU.js} +8 -8
- package/dist/cli/{feedback-K2FWYYLZ.mjs → feedback-IGDHBWGT.mjs} +4 -4
- package/dist/cli/{feedback-RJF3QSBB.js → feedback-WCLIFQTR.js} +8 -8
- package/dist/cli/git-CKN2F32Y.js +25 -0
- package/dist/cli/{git-S3APUPLL.mjs → git-FRICPPTA.mjs} +5 -5
- package/dist/cli/index.js +135 -135
- package/dist/cli/index.mjs +40 -40
- package/dist/cli/{legacy-noops-3SWNRE7Z.js → legacy-noops-DSFOPYDY.js} +8 -8
- package/dist/cli/{legacy-noops-ICYZACTW.mjs → legacy-noops-ROAXEG6D.mjs} +5 -5
- package/dist/cli/{monitors-DEZCEQLB.mjs → monitors-FZ5PRLW6.mjs} +7 -7
- package/dist/cli/{monitors-VRIWTRPG.js → monitors-KUCYQLU5.js} +91 -91
- package/dist/cli/{org-IQW5ZIAO.mjs → org-DRNND5XU.mjs} +6 -6
- package/dist/cli/{org-NX752DTE.js → org-SRHMWKQR.js} +72 -72
- package/dist/cli/{pages-YIBWYGVS.js → pages-TEJQIHTU.js} +17 -17
- package/dist/cli/{pages-5WQRVVKX.mjs → pages-XNGA356T.mjs} +6 -6
- package/dist/cli/{play-3EXNH3HD.js → play-GCGFQSFP.js} +306 -306
- package/dist/cli/{play-WOMJXS4O.mjs → play-NE45ROIZ.mjs} +17 -17
- package/dist/cli/{providers-XDVPYRTS.mjs → providers-57TJOSMV.mjs} +6 -6
- package/dist/cli/{providers-C2WYSR2Y.js → providers-VHMUR63R.js} +9 -9
- package/dist/cli/{quickstart-7RABZF66.js → quickstart-BPXWO4UD.js} +6 -6
- package/dist/cli/{quickstart-YMSIL2TK.mjs → quickstart-K3SH4NXP.mjs} +4 -4
- package/dist/cli/{run-5QVVWFGL.js → run-553AAXDU.js} +36 -36
- package/dist/cli/{run-A4JD6TAR.mjs → run-ZRWJUEN2.mjs} +22 -22
- package/dist/cli/{search-2TOSF2G3.mjs → search-BW6XRS4I.mjs} +7 -7
- package/dist/cli/search-WF26AUDJ.js +32 -0
- package/dist/cli/{secrets-Q7UVOSNM.js → secrets-AMYQYUL5.js} +15 -15
- package/dist/cli/{secrets-BUN4ORE7.mjs → secrets-OYYCFGZE.mjs} +6 -6
- package/dist/cli/{sessions-IAOORI6X.mjs → sessions-O4SVVOMO.mjs} +5 -5
- package/dist/cli/{sessions-NXQOQ4HX.js → sessions-RYCJUMJ2.js} +6 -6
- package/dist/cli/{settings-WD4KSY5S.js → settings-7R5FQKII.js} +78 -78
- package/dist/cli/{settings-BMI373AI.mjs → settings-QK7DHDU7.mjs} +11 -11
- package/dist/cli/{setup-3IA7BVPE.js → setup-OTQDQHDN.js} +44 -44
- package/dist/cli/{setup-55VIWAWR.mjs → setup-VDAAVCKK.mjs} +9 -9
- package/dist/cli/{skills-GKITMBTM.mjs → skills-HRK5O5JO.mjs} +7 -7
- package/dist/cli/skills-VNLMEOXW.js +31 -0
- package/dist/cli/tools-C3MUHL7G.js +55 -0
- package/dist/cli/{tools-XHCFC7GP.mjs → tools-O7BM62QV.mjs} +16 -16
- package/dist/cli/update-TCKTU6QJ.js +33 -0
- package/dist/cli/{update-SWB24YKE.mjs → update-UHKHCSTY.mjs} +9 -9
- package/dist/cli/{workflow-5QPMFI3Z.js → workflow-7Z5NCTGG.js} +17 -17
- package/dist/cli/{workflow-XO4CKUA7.mjs → workflow-T2EDR7L4.mjs} +7 -7
- package/dist/index.js +9 -9
- package/dist/index.mjs +6 -6
- package/dist/install-integrity.json +96 -96
- package/dist/release.d.mts +1 -1
- package/dist/release.d.ts +1 -1
- package/dist/release.js +2 -2
- package/dist/release.mjs +1 -1
- package/dist/server.js +5 -5
- package/dist/server.mjs +3 -3
- package/package.json +1 -1
- package/dist/cli/auth-O6KAH543.js +0 -41
- package/dist/cli/describe-44L7OBGM.js +0 -48
- package/dist/cli/git-F3EI5DY5.js +0 -25
- package/dist/cli/search-772R7YHI.js +0 -32
- package/dist/cli/skills-PUUTFMP3.js +0 -31
- package/dist/cli/tools-3WX7TUUG.js +0 -55
- package/dist/cli/update-PC3CLODV.js +0 -33
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkKTWXY73Qjs = require('./chunk-KTWXY73Q.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkG4SGYWKVjs = require('./chunk-G4SGYWKV.js');
|
|
8
8
|
require('./chunk-E4CABWXL.js');
|
|
9
9
|
require('./chunk-JDMR33HS.js');
|
|
10
10
|
require('./chunk-NMU3VR5U.js');
|
|
@@ -15,9 +15,9 @@ require('./chunk-XDVT3GOM.js');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
19
|
-
require('./chunk-
|
|
20
|
-
require('./chunk-
|
|
18
|
+
var _chunkU3F63UWDjs = require('./chunk-U3F63UWD.js');
|
|
19
|
+
require('./chunk-BLW2K6YH.js');
|
|
20
|
+
require('./chunk-B7NJ5JQ2.js');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -26,7 +26,7 @@ require('./chunk-XNYIZMNQ.js');
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
var _chunkDIAWYWT5js = require('./chunk-DIAWYWT5.js');
|
|
29
|
-
require('./chunk-
|
|
29
|
+
require('./chunk-CKSRTD45.js');
|
|
30
30
|
require('./chunk-OG64RBAC.js');
|
|
31
31
|
require('./chunk-COGTRVWW.js');
|
|
32
32
|
|
|
@@ -75,7 +75,7 @@ function reportBillingFailure(failure, options) {
|
|
|
75
75
|
if (failure.next) {
|
|
76
76
|
textLines.push(`Next: ${failure.next}`);
|
|
77
77
|
}
|
|
78
|
-
|
|
78
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
79
79
|
{
|
|
80
80
|
ok: false,
|
|
81
81
|
exitCode: failure.exitCode,
|
|
@@ -96,7 +96,7 @@ function parseTopUpCredits(raw) {
|
|
|
96
96
|
return parsed;
|
|
97
97
|
}
|
|
98
98
|
function topUpIdempotencyKey(raw) {
|
|
99
|
-
return raw === void 0 ? `cli_topup:${Date.now()}:${_crypto.randomUUID.call(void 0, )}` :
|
|
99
|
+
return raw === void 0 ? `cli_topup:${Date.now()}:${_crypto.randomUUID.call(void 0, )}` : _chunkG4SGYWKVjs.requireBillingIdempotencyKey.call(void 0, raw);
|
|
100
100
|
}
|
|
101
101
|
function targetBillingIdempotencyKey(raw) {
|
|
102
102
|
return typeof raw === "string" ? raw : `cli_target_billing:${Date.now()}:${_crypto.randomUUID.call(void 0, )}`;
|
|
@@ -315,7 +315,7 @@ function defaultLedgerExportPath() {
|
|
|
315
315
|
);
|
|
316
316
|
}
|
|
317
317
|
async function handleBalance(options) {
|
|
318
|
-
const { http } =
|
|
318
|
+
const { http } = _chunkU3F63UWDjs.getAuthedHttpClient.call(void 0, );
|
|
319
319
|
const payload = await http.get(
|
|
320
320
|
"/api/v2/billing/balance"
|
|
321
321
|
);
|
|
@@ -399,7 +399,7 @@ async function handleBalance(options) {
|
|
|
399
399
|
...options.verbose ? detail : [],
|
|
400
400
|
...lines.slice(1)
|
|
401
401
|
];
|
|
402
|
-
|
|
402
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
403
403
|
{
|
|
404
404
|
...payload,
|
|
405
405
|
...recovery ? { recovery } : {},
|
|
@@ -435,7 +435,7 @@ async function handleUsageEvents(options) {
|
|
|
435
435
|
);
|
|
436
436
|
return;
|
|
437
437
|
}
|
|
438
|
-
const client = new (0,
|
|
438
|
+
const client = new (0, _chunkKTWXY73Qjs.DeeplineClient)();
|
|
439
439
|
let payload;
|
|
440
440
|
try {
|
|
441
441
|
payload = await client.billing.usageEvents({
|
|
@@ -466,7 +466,7 @@ async function handleUsageEvents(options) {
|
|
|
466
466
|
),
|
|
467
467
|
...nextPage ? [`Next page: ${nextPage}`] : []
|
|
468
468
|
];
|
|
469
|
-
|
|
469
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
470
470
|
{
|
|
471
471
|
...payload,
|
|
472
472
|
next: { page: nextPage },
|
|
@@ -477,7 +477,7 @@ async function handleUsageEvents(options) {
|
|
|
477
477
|
}
|
|
478
478
|
async function handleUsage(options) {
|
|
479
479
|
if (options.events) return handleUsageEvents(options);
|
|
480
|
-
const { http } =
|
|
480
|
+
const { http } = _chunkU3F63UWDjs.getAuthedHttpClient.call(void 0, );
|
|
481
481
|
const params = new URLSearchParams();
|
|
482
482
|
if (options.requestId !== void 0) {
|
|
483
483
|
const requestId = options.requestId.trim();
|
|
@@ -558,7 +558,7 @@ async function handleUsage(options) {
|
|
|
558
558
|
"No continuation is available for this view. Use deepline billing ledger export all for the full ledger."
|
|
559
559
|
] : []
|
|
560
560
|
];
|
|
561
|
-
|
|
561
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
562
562
|
{
|
|
563
563
|
...payload,
|
|
564
564
|
recent: {
|
|
@@ -572,7 +572,7 @@ async function handleUsage(options) {
|
|
|
572
572
|
);
|
|
573
573
|
}
|
|
574
574
|
async function handleLimit(options) {
|
|
575
|
-
const { http } =
|
|
575
|
+
const { http } = _chunkU3F63UWDjs.getAuthedHttpClient.call(void 0, );
|
|
576
576
|
const payload = await http.get(
|
|
577
577
|
"/api/v2/billing/limit"
|
|
578
578
|
);
|
|
@@ -580,7 +580,7 @@ async function handleLimit(options) {
|
|
|
580
580
|
`Monthly usage cap: ${_nullishCoalesce(payload.monthly_credits_limit, () => ( "(unknown)"))}`,
|
|
581
581
|
"Enforcement: checked before new calls; in-flight work can exceed the cap."
|
|
582
582
|
] : ["Monthly usage cap: off"];
|
|
583
|
-
|
|
583
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
584
584
|
{
|
|
585
585
|
...payload,
|
|
586
586
|
render: { sections: [{ title: "billing limit", lines }] }
|
|
@@ -589,12 +589,12 @@ async function handleLimit(options) {
|
|
|
589
589
|
);
|
|
590
590
|
}
|
|
591
591
|
async function handleSetLimit(credits, options) {
|
|
592
|
-
const { http } =
|
|
592
|
+
const { http } = _chunkU3F63UWDjs.getAuthedHttpClient.call(void 0, );
|
|
593
593
|
const payload = await http.request("/api/v2/billing/limit", {
|
|
594
594
|
method: "PUT",
|
|
595
595
|
body: { monthly_credits_limit: Number.parseInt(credits, 10) }
|
|
596
596
|
});
|
|
597
|
-
|
|
597
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
598
598
|
{
|
|
599
599
|
...payload,
|
|
600
600
|
render: {
|
|
@@ -610,11 +610,11 @@ async function handleSetLimit(credits, options) {
|
|
|
610
610
|
);
|
|
611
611
|
}
|
|
612
612
|
async function handleLimitOff(options) {
|
|
613
|
-
const { http } =
|
|
613
|
+
const { http } = _chunkU3F63UWDjs.getAuthedHttpClient.call(void 0, );
|
|
614
614
|
const payload = await http.request("/api/v2/billing/limit", {
|
|
615
615
|
method: "DELETE"
|
|
616
616
|
});
|
|
617
|
-
|
|
617
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
618
618
|
{
|
|
619
619
|
...payload,
|
|
620
620
|
render: {
|
|
@@ -634,7 +634,7 @@ async function exportLedger(http, outputPath, options) {
|
|
|
634
634
|
let initialized = false;
|
|
635
635
|
let pageNumber = 0;
|
|
636
636
|
console.error(`Exporting billing ledger to ${outputPath}`);
|
|
637
|
-
for await (const entries of
|
|
637
|
+
for await (const entries of _chunkG4SGYWKVjs.iterateCursorPages.call(void 0, async (cursor) => {
|
|
638
638
|
pageNumber += 1;
|
|
639
639
|
console.error(
|
|
640
640
|
`Fetching page ${pageNumber}; ${summary.row_count} rows written.`
|
|
@@ -673,7 +673,7 @@ async function exportLedger(http, outputPath, options) {
|
|
|
673
673
|
return summary;
|
|
674
674
|
}
|
|
675
675
|
async function handleHistory(options) {
|
|
676
|
-
const { http } =
|
|
676
|
+
const { http } = _chunkU3F63UWDjs.getAuthedHttpClient.call(void 0, );
|
|
677
677
|
const windows = {
|
|
678
678
|
"1d": 86400,
|
|
679
679
|
"1w": 604800,
|
|
@@ -685,10 +685,10 @@ async function handleHistory(options) {
|
|
|
685
685
|
process.cwd(),
|
|
686
686
|
"deepline",
|
|
687
687
|
"data",
|
|
688
|
-
|
|
688
|
+
_chunkU3F63UWDjs.createTimestampedName.call(void 0, `billing-history-${options.time}`, "csv")
|
|
689
689
|
);
|
|
690
690
|
const summary = await exportLedger(http, outputPath, { sinceAt });
|
|
691
|
-
|
|
691
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
692
692
|
{
|
|
693
693
|
output_path: outputPath,
|
|
694
694
|
row_count: summary.row_count,
|
|
@@ -725,14 +725,14 @@ async function handleLedgerExportAll(options) {
|
|
|
725
725
|
);
|
|
726
726
|
return;
|
|
727
727
|
}
|
|
728
|
-
const { http } =
|
|
728
|
+
const { http } = _chunkU3F63UWDjs.getAuthedHttpClient.call(void 0, );
|
|
729
729
|
const outputPath = options.output ? _path.resolve.call(void 0, String(options.output)) : defaultLedgerExportPath();
|
|
730
730
|
const summary = await exportLedger(http, outputPath, {
|
|
731
731
|
sinceAt,
|
|
732
732
|
runId: options.runId,
|
|
733
733
|
operation: options.operation
|
|
734
734
|
});
|
|
735
|
-
|
|
735
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
736
736
|
{
|
|
737
737
|
output_path: outputPath,
|
|
738
738
|
row_count: summary.row_count,
|
|
@@ -772,7 +772,7 @@ function targetPlanLine(plan) {
|
|
|
772
772
|
return `${plan.name} (${plan.sku}) | ${planPriceText(plan.recurring_price_usd, plan.interval)}${firstMonth} | ${plan.included_credits} included credits/month | $${plan.purchased_credit_price_usd}/purchased credit | ${plan.acquisition_enabled ? "available" : "unavailable"}`;
|
|
773
773
|
}
|
|
774
774
|
async function handlePlans(options) {
|
|
775
|
-
const client = new (0,
|
|
775
|
+
const client = new (0, _chunkKTWXY73Qjs.DeeplineClient)();
|
|
776
776
|
const payload = await client.billing.targetPlans();
|
|
777
777
|
const listedCurrentPlan = payload.plans.find(
|
|
778
778
|
(plan) => plan.sku === payload.current_plan_sku
|
|
@@ -785,8 +785,8 @@ async function handlePlans(options) {
|
|
|
785
785
|
...payload.plans.length === 0 ? ["Plans: none available"] : ["Plans:", ...payload.plans.map(targetPlanLine)],
|
|
786
786
|
"Change plan: deepline billing change-plan <plan_sku>"
|
|
787
787
|
];
|
|
788
|
-
const legacyPayload =
|
|
789
|
-
|
|
788
|
+
const legacyPayload = _chunkU3F63UWDjs.shouldEmitJson.call(void 0, options.json) ? await client.billing.plans() : null;
|
|
789
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
790
790
|
{
|
|
791
791
|
..._nullishCoalesce(legacyPayload, () => ( payload)),
|
|
792
792
|
...legacyPayload ? { target_billing: payload } : {},
|
|
@@ -796,7 +796,7 @@ async function handlePlans(options) {
|
|
|
796
796
|
);
|
|
797
797
|
}
|
|
798
798
|
async function handleSubscribe(planVersionId, options) {
|
|
799
|
-
const { http } =
|
|
799
|
+
const { http } = _chunkU3F63UWDjs.getAuthedHttpClient.call(void 0, );
|
|
800
800
|
const payload = await http.request(
|
|
801
801
|
"/api/v2/billing/subscription/checkout",
|
|
802
802
|
{
|
|
@@ -805,8 +805,8 @@ async function handleSubscribe(planVersionId, options) {
|
|
|
805
805
|
}
|
|
806
806
|
);
|
|
807
807
|
const url = String(payload.checkout_url || "");
|
|
808
|
-
if (!options.json && options.open !== false && url)
|
|
809
|
-
|
|
808
|
+
if (!options.json && options.open !== false && url) _chunkU3F63UWDjs.openInBrowser.call(void 0, url);
|
|
809
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
810
810
|
{
|
|
811
811
|
...payload,
|
|
812
812
|
render: {
|
|
@@ -822,7 +822,7 @@ async function handleSubscribe(planVersionId, options) {
|
|
|
822
822
|
);
|
|
823
823
|
}
|
|
824
824
|
async function handleSubscriptionStatus(options) {
|
|
825
|
-
const client = new (0,
|
|
825
|
+
const client = new (0, _chunkKTWXY73Qjs.DeeplineClient)();
|
|
826
826
|
const payload = await client.billing.subscription.status();
|
|
827
827
|
const pools = _nullishCoalesce(payload.credit_pools, () => ( []));
|
|
828
828
|
const lines = [
|
|
@@ -842,7 +842,7 @@ async function handleSubscriptionStatus(options) {
|
|
|
842
842
|
],
|
|
843
843
|
`Assigned by: ${_nullishCoalesce(payload.assigned_by, () => ( "default"))}`
|
|
844
844
|
];
|
|
845
|
-
|
|
845
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
846
846
|
{
|
|
847
847
|
...payload,
|
|
848
848
|
render: { sections: [{ title: "billing subscription", lines }] }
|
|
@@ -851,7 +851,7 @@ async function handleSubscriptionStatus(options) {
|
|
|
851
851
|
);
|
|
852
852
|
}
|
|
853
853
|
async function handleSubscriptionCancel(options) {
|
|
854
|
-
const client = new (0,
|
|
854
|
+
const client = new (0, _chunkKTWXY73Qjs.DeeplineClient)();
|
|
855
855
|
const action = options.undo ? "undo_cancel" : "cancel";
|
|
856
856
|
if (options.dryRun) {
|
|
857
857
|
const status = await client.billing.subscription.status();
|
|
@@ -868,7 +868,7 @@ async function handleSubscriptionCancel(options) {
|
|
|
868
868
|
return;
|
|
869
869
|
}
|
|
870
870
|
const consequence = action === "cancel" ? `Would schedule cancellation at period end${status.current_period_end ? ` (${status.current_period_end})` : ""}. The subscription stays active until then and remaining credits are kept.` : "Would reverse the pending cancellation; the subscription would renew normally.";
|
|
871
|
-
|
|
871
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
872
872
|
{
|
|
873
873
|
ok: true,
|
|
874
874
|
dry_run: true,
|
|
@@ -923,7 +923,7 @@ async function handleSubscriptionCancel(options) {
|
|
|
923
923
|
"Remaining credits are yours to keep \u2014 cancellation never removes credits.",
|
|
924
924
|
"Undo with: deepline billing subscription cancel --undo"
|
|
925
925
|
];
|
|
926
|
-
|
|
926
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
927
927
|
{
|
|
928
928
|
ok: true,
|
|
929
929
|
...result,
|
|
@@ -977,7 +977,7 @@ async function handleInvoices(options) {
|
|
|
977
977
|
return;
|
|
978
978
|
}
|
|
979
979
|
}
|
|
980
|
-
const client = new (0,
|
|
980
|
+
const client = new (0, _chunkKTWXY73Qjs.DeeplineClient)();
|
|
981
981
|
let payload;
|
|
982
982
|
try {
|
|
983
983
|
payload = await client.billing.invoices.list(
|
|
@@ -1006,7 +1006,7 @@ async function handleInvoices(options) {
|
|
|
1006
1006
|
url: entry.url
|
|
1007
1007
|
}))
|
|
1008
1008
|
} : { ...payload, count: entries.length };
|
|
1009
|
-
|
|
1009
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1010
1010
|
{
|
|
1011
1011
|
...envelope,
|
|
1012
1012
|
render: { sections: [{ title: "billing invoices", lines }] }
|
|
@@ -1015,7 +1015,7 @@ async function handleInvoices(options) {
|
|
|
1015
1015
|
);
|
|
1016
1016
|
}
|
|
1017
1017
|
async function handleCheckout(options) {
|
|
1018
|
-
const { http } =
|
|
1018
|
+
const { http } = _chunkU3F63UWDjs.getAuthedHttpClient.call(void 0, );
|
|
1019
1019
|
const payload = await http.post(
|
|
1020
1020
|
"/api/v2/billing/checkout",
|
|
1021
1021
|
{
|
|
@@ -1025,8 +1025,8 @@ async function handleCheckout(options) {
|
|
|
1025
1025
|
}
|
|
1026
1026
|
);
|
|
1027
1027
|
const url = String(payload.url || payload.checkout_url || "");
|
|
1028
|
-
if (!options.json && !options.noOpen && url)
|
|
1029
|
-
|
|
1028
|
+
if (!options.json && !options.noOpen && url) _chunkU3F63UWDjs.openInBrowser.call(void 0, url);
|
|
1029
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1030
1030
|
{
|
|
1031
1031
|
...payload,
|
|
1032
1032
|
render: {
|
|
@@ -1071,7 +1071,7 @@ async function handleTopUp(creditsRaw, options) {
|
|
|
1071
1071
|
return;
|
|
1072
1072
|
}
|
|
1073
1073
|
if (options.dryRun) {
|
|
1074
|
-
|
|
1074
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1075
1075
|
{
|
|
1076
1076
|
ok: true,
|
|
1077
1077
|
dry_run: true,
|
|
@@ -1101,7 +1101,7 @@ async function handleTopUp(creditsRaw, options) {
|
|
|
1101
1101
|
);
|
|
1102
1102
|
return;
|
|
1103
1103
|
}
|
|
1104
|
-
const client = new (0,
|
|
1104
|
+
const client = new (0, _chunkKTWXY73Qjs.DeeplineClient)();
|
|
1105
1105
|
let payload;
|
|
1106
1106
|
try {
|
|
1107
1107
|
payload = await client.billing.topUpWithReceipt({
|
|
@@ -1118,7 +1118,7 @@ async function handleTopUp(creditsRaw, options) {
|
|
|
1118
1118
|
return;
|
|
1119
1119
|
}
|
|
1120
1120
|
if (payload.status === "pending") {
|
|
1121
|
-
|
|
1121
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1122
1122
|
{
|
|
1123
1123
|
ok: true,
|
|
1124
1124
|
...payload,
|
|
@@ -1182,17 +1182,17 @@ async function handleTopUp(creditsRaw, options) {
|
|
|
1182
1182
|
]
|
|
1183
1183
|
}
|
|
1184
1184
|
};
|
|
1185
|
-
|
|
1185
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0, options.compact ? compactEnvelope : fullEnvelope, {
|
|
1186
1186
|
json: options.json
|
|
1187
1187
|
});
|
|
1188
1188
|
}
|
|
1189
1189
|
async function handleTargetStatus(options) {
|
|
1190
|
-
const client = new (0,
|
|
1190
|
+
const client = new (0, _chunkKTWXY73Qjs.DeeplineClient)();
|
|
1191
1191
|
const payload = await client.billing.targetStatus();
|
|
1192
1192
|
const balanceCommand = "deepline billing balance";
|
|
1193
1193
|
const recentChargesCommand = "deepline billing usage --limit 5";
|
|
1194
1194
|
const exactChargeCommand = "deepline billing usage --request-id <job_id>";
|
|
1195
|
-
|
|
1195
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1196
1196
|
{
|
|
1197
1197
|
ok: true,
|
|
1198
1198
|
...payload,
|
|
@@ -1228,10 +1228,10 @@ function formatComputeMinutes(minutes) {
|
|
|
1228
1228
|
return minutes < 120 ? `${Number(minutes.toFixed(1)).toLocaleString("en-US")} minutes` : `${Number((minutes / 60).toFixed(1)).toLocaleString("en-US")} hours`;
|
|
1229
1229
|
}
|
|
1230
1230
|
async function handleIncludedCompute(options) {
|
|
1231
|
-
const client = new (0,
|
|
1231
|
+
const client = new (0, _chunkKTWXY73Qjs.DeeplineClient)();
|
|
1232
1232
|
const payload = options.enable ? await client.billing.enableIncludedCompute() : await client.billing.includedCompute();
|
|
1233
1233
|
const plan = `${formatComputeMinutes(payload.plan.included_minutes)} standard-equivalent compute included per month, then ${Math.round(payload.plan.credits_per_minute * 60)} credits/standard hour`;
|
|
1234
|
-
|
|
1234
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1235
1235
|
{
|
|
1236
1236
|
ok: true,
|
|
1237
1237
|
...payload,
|
|
@@ -1257,8 +1257,8 @@ async function handleIncludedCompute(options) {
|
|
|
1257
1257
|
);
|
|
1258
1258
|
}
|
|
1259
1259
|
async function handleEntitlements(options) {
|
|
1260
|
-
const payload = await new (0,
|
|
1261
|
-
|
|
1260
|
+
const payload = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.entitlements();
|
|
1261
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1262
1262
|
{
|
|
1263
1263
|
ok: true,
|
|
1264
1264
|
...payload,
|
|
@@ -1291,7 +1291,7 @@ async function handleEntitlements(options) {
|
|
|
1291
1291
|
);
|
|
1292
1292
|
}
|
|
1293
1293
|
async function handleAutoRechargeStatus(options) {
|
|
1294
|
-
const payload = await new (0,
|
|
1294
|
+
const payload = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.autoRecharge.get();
|
|
1295
1295
|
const state = payload.available ? payload.enabled ? "on" : "off" : "unavailable";
|
|
1296
1296
|
const lines = [
|
|
1297
1297
|
`State: ${state}`,
|
|
@@ -1301,7 +1301,7 @@ async function handleAutoRechargeStatus(options) {
|
|
|
1301
1301
|
`Automatic credit purchase cap: ${payload.purchase_limit_credits} credits per rolling 30 days`
|
|
1302
1302
|
] : []
|
|
1303
1303
|
];
|
|
1304
|
-
|
|
1304
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1305
1305
|
{
|
|
1306
1306
|
ok: true,
|
|
1307
1307
|
...payload,
|
|
@@ -1350,7 +1350,7 @@ async function handleAutoRechargeSet(options) {
|
|
|
1350
1350
|
}
|
|
1351
1351
|
const idempotencyKey = targetBillingIdempotencyKey(options.idempotencyKey);
|
|
1352
1352
|
if (options.dryRun) {
|
|
1353
|
-
|
|
1353
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1354
1354
|
{
|
|
1355
1355
|
ok: true,
|
|
1356
1356
|
dry_run: true,
|
|
@@ -1371,7 +1371,7 @@ async function handleAutoRechargeSet(options) {
|
|
|
1371
1371
|
);
|
|
1372
1372
|
return;
|
|
1373
1373
|
}
|
|
1374
|
-
const payload = await new (0,
|
|
1374
|
+
const payload = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.autoRecharge.update({
|
|
1375
1375
|
enabled: true,
|
|
1376
1376
|
thresholdCredits,
|
|
1377
1377
|
refillToCredits,
|
|
@@ -1379,7 +1379,7 @@ async function handleAutoRechargeSet(options) {
|
|
|
1379
1379
|
...rollingLimitCredits !== void 0 ? { purchaseLimitCredits: rollingLimitCredits } : {},
|
|
1380
1380
|
idempotencyKey
|
|
1381
1381
|
});
|
|
1382
|
-
|
|
1382
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1383
1383
|
{ ok: true, idempotency_key: idempotencyKey, ...payload },
|
|
1384
1384
|
{ json: options.json }
|
|
1385
1385
|
);
|
|
@@ -1387,7 +1387,7 @@ async function handleAutoRechargeSet(options) {
|
|
|
1387
1387
|
async function handleAutoRechargeOff(options) {
|
|
1388
1388
|
const idempotencyKey = targetBillingIdempotencyKey(options.idempotencyKey);
|
|
1389
1389
|
if (options.dryRun) {
|
|
1390
|
-
|
|
1390
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1391
1391
|
{
|
|
1392
1392
|
ok: true,
|
|
1393
1393
|
dry_run: true,
|
|
@@ -1402,11 +1402,11 @@ async function handleAutoRechargeOff(options) {
|
|
|
1402
1402
|
);
|
|
1403
1403
|
return;
|
|
1404
1404
|
}
|
|
1405
|
-
const payload = await new (0,
|
|
1405
|
+
const payload = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.autoRecharge.update({
|
|
1406
1406
|
enabled: false,
|
|
1407
1407
|
idempotencyKey
|
|
1408
1408
|
});
|
|
1409
|
-
|
|
1409
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1410
1410
|
{ ok: true, idempotency_key: idempotencyKey, ...payload },
|
|
1411
1411
|
{ json: options.json }
|
|
1412
1412
|
);
|
|
@@ -1425,11 +1425,11 @@ async function handleBuyCredits(creditsRaw, options) {
|
|
|
1425
1425
|
return;
|
|
1426
1426
|
}
|
|
1427
1427
|
const idempotencyKey = targetBillingIdempotencyKey(options.idempotencyKey);
|
|
1428
|
-
const payload = await new (0,
|
|
1428
|
+
const payload = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.purchaseCredits({
|
|
1429
1429
|
credits,
|
|
1430
1430
|
idempotencyKey
|
|
1431
1431
|
});
|
|
1432
|
-
|
|
1432
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1433
1433
|
{ ok: true, idempotency_key: idempotencyKey, ...payload },
|
|
1434
1434
|
{ json: options.json }
|
|
1435
1435
|
);
|
|
@@ -1465,7 +1465,7 @@ async function handleTopUpRecover(creditsRaw, options) {
|
|
|
1465
1465
|
return;
|
|
1466
1466
|
}
|
|
1467
1467
|
if (options.dryRun) {
|
|
1468
|
-
|
|
1468
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1469
1469
|
{
|
|
1470
1470
|
ok: true,
|
|
1471
1471
|
dry_run: true,
|
|
@@ -1478,12 +1478,12 @@ async function handleTopUpRecover(creditsRaw, options) {
|
|
|
1478
1478
|
);
|
|
1479
1479
|
return;
|
|
1480
1480
|
}
|
|
1481
|
-
const payload = await new (0,
|
|
1481
|
+
const payload = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.recoverCreditPurchase({
|
|
1482
1482
|
credits,
|
|
1483
1483
|
orgId: options.orgId,
|
|
1484
1484
|
idempotencyKey: options.idempotencyKey
|
|
1485
1485
|
});
|
|
1486
|
-
|
|
1486
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1487
1487
|
{ ok: true, idempotency_key: options.idempotencyKey, ...payload },
|
|
1488
1488
|
{ json: options.json }
|
|
1489
1489
|
);
|
|
@@ -1503,37 +1503,37 @@ async function handleTargetPlan(planSku, options) {
|
|
|
1503
1503
|
return;
|
|
1504
1504
|
}
|
|
1505
1505
|
const idempotencyKey = targetBillingIdempotencyKey(options.idempotencyKey);
|
|
1506
|
-
const payload = await new (0,
|
|
1506
|
+
const payload = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.transitionPlan({
|
|
1507
1507
|
action: "start_or_change",
|
|
1508
1508
|
targetPlanSku: planSku,
|
|
1509
1509
|
...options.billingEmail ? { billingEmail: options.billingEmail } : {},
|
|
1510
1510
|
idempotencyKey
|
|
1511
1511
|
});
|
|
1512
|
-
|
|
1512
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1513
1513
|
{ ok: true, idempotency_key: idempotencyKey, ...payload },
|
|
1514
1514
|
{ json: options.json }
|
|
1515
1515
|
);
|
|
1516
1516
|
}
|
|
1517
1517
|
async function handleTargetPlanCancellation(options) {
|
|
1518
1518
|
const idempotencyKey = targetBillingIdempotencyKey(options.idempotencyKey);
|
|
1519
|
-
const payload = await new (0,
|
|
1519
|
+
const payload = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.transitionPlan({
|
|
1520
1520
|
action: options.undo ? "undo_cancel" : "cancel",
|
|
1521
1521
|
idempotencyKey
|
|
1522
1522
|
});
|
|
1523
|
-
|
|
1523
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1524
1524
|
{ ok: true, idempotency_key: idempotencyKey, ...payload },
|
|
1525
1525
|
{ json: options.json }
|
|
1526
1526
|
);
|
|
1527
1527
|
}
|
|
1528
1528
|
async function handleTargetPortal(options) {
|
|
1529
|
-
const payload = await new (0,
|
|
1529
|
+
const payload = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.portalSession(
|
|
1530
1530
|
options.billingAddress ? { flow: "customer_update" } : void 0
|
|
1531
1531
|
);
|
|
1532
|
-
if (!options.json && !options.noOpen)
|
|
1533
|
-
|
|
1532
|
+
if (!options.json && !options.noOpen) _chunkU3F63UWDjs.openInBrowser.call(void 0, payload.url);
|
|
1533
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0, { ok: true, ...payload }, { json: options.json });
|
|
1534
1534
|
}
|
|
1535
1535
|
async function handleRedeemCode(code, options) {
|
|
1536
|
-
const { http } =
|
|
1536
|
+
const { http } = _chunkU3F63UWDjs.getAuthedHttpClient.call(void 0, );
|
|
1537
1537
|
const payload = await http.post(
|
|
1538
1538
|
"/api/v2/billing/checkout",
|
|
1539
1539
|
{
|
|
@@ -1541,8 +1541,8 @@ async function handleRedeemCode(code, options) {
|
|
|
1541
1541
|
}
|
|
1542
1542
|
);
|
|
1543
1543
|
const url = String(payload.url || payload.checkout_url || "");
|
|
1544
|
-
if (!options.json && !options.noOpen && url)
|
|
1545
|
-
|
|
1544
|
+
if (!options.json && !options.noOpen && url) _chunkU3F63UWDjs.openInBrowser.call(void 0, url);
|
|
1545
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0,
|
|
1546
1546
|
{
|
|
1547
1547
|
...payload,
|
|
1548
1548
|
render: {
|
|
@@ -1602,14 +1602,14 @@ Examples:
|
|
|
1602
1602
|
if (!Number.isSafeInteger(quantity) || quantity <= 0) {
|
|
1603
1603
|
throw new Error("--quantity must be a positive safe integer.");
|
|
1604
1604
|
}
|
|
1605
|
-
const quote = await new (0,
|
|
1605
|
+
const quote = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.quote({
|
|
1606
1606
|
quantity,
|
|
1607
1607
|
sandbox_runtime: {
|
|
1608
1608
|
timeout: options.sandboxTimeout,
|
|
1609
1609
|
size: options.sandboxSize
|
|
1610
1610
|
}
|
|
1611
1611
|
});
|
|
1612
|
-
|
|
1612
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0, quote, {
|
|
1613
1613
|
json: options.json,
|
|
1614
1614
|
text: `Sandbox session ceiling: ${quote.maximum_credits} Deepline credits (${quote.quantity} session${quote.quantity === 1 ? "" : "s"}).
|
|
1615
1615
|
${quote.explanation}
|
|
@@ -1854,8 +1854,8 @@ Examples:
|
|
|
1854
1854
|
new (0, _commander.Command)("trigger").description(
|
|
1855
1855
|
"Evaluate capped automatic recharge and resume any pending purchase."
|
|
1856
1856
|
).option("--json", "Emit JSON output").action(async (options) => {
|
|
1857
|
-
const result = await new (0,
|
|
1858
|
-
|
|
1857
|
+
const result = await new (0, _chunkKTWXY73Qjs.DeeplineClient)().billing.autoRecharge.trigger();
|
|
1858
|
+
_chunkU3F63UWDjs.printCommandEnvelope.call(void 0, { ok: true, ...result }, { json: options.json });
|
|
1859
1859
|
})
|
|
1860
1860
|
);
|
|
1861
1861
|
billing.command("change-plan").description("Start or change the target billing plan.").argument("<plan_sku>", "payg-v1, builder-v1, growth-v1, or team-v1").option(
|