nolo-cli 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{_executeModel-AVCA2NAV.js → _executeModel-X5PCIZN6.js} +50 -44
- package/{action-F5JACQBG.js → action-LT7BRFLK.js} +10 -9
- package/{addContentAction-AQXEYRBE.js → addContentAction-PL3KKBDH.js} +9 -8
- package/{addDialogAgentAction-EJHHJZWW.js → addDialogAgentAction-FCMSKYAF.js} +8 -7
- package/{agentDeleteCommand-QW5PUMDQ.js → agentDeleteCommand-2BZDQV36.js} +32 -29
- package/{agentEmailCommands-4ORVLGVQ.js → agentEmailCommands-2QJDGRMB.js} +62 -56
- package/{agentListCommands-YWBYRTYC.js → agentListCommands-6VEPTKBI.js} +31 -28
- package/{agentMachineCommands-JSQW4FOA.js → agentMachineCommands-NVVHNWYI.js} +30 -27
- package/{agentPullCommand-6HWUT3SW.js → agentPullCommand-ZZGU5KOY.js} +4 -4
- package/{agentRecordCommands-AASIWOBT.js → agentRecordCommands-4GGRDMD4.js} +57 -51
- package/{agentRunCommand-TB5BHXUH.js → agentRunCommand-XOLQNKBZ.js} +63 -54
- package/{agentRunControl-6ADXVYMR.js → agentRunControl-Y5AFH5PQ.js} +24 -1
- package/{agentRuntimeLocal-QNPNJRVH.js → agentRuntimeLocal-7WYWCGL4.js} +25 -22
- package/{agentSlice-RUNXC62Y.js → agentSlice-EAXPGEYV.js} +9 -8
- package/appDeleteCommands-77KR2RJ4.js +127 -0
- package/appDeployCommands-K7CAHGBI.js +166 -0
- package/appDeployStatusCommands-4OEKLTBT.js +147 -0
- package/appGetCommands-VM2WDLAZ.js +122 -0
- package/appListCommands-GX6BBA6U.js +125 -0
- package/{authCommand-YFTR3347.js → authCommand-DY6UUL6O.js} +16 -9
- package/{authCommands-YXGOXNBZ.js → authCommands-XTBV7OFZ.js} +6 -5
- package/{chunk-DPAB4FQ7.js → chunk-23FZYPLC.js} +1608 -212
- package/{chunk-LPEUV5RE.js → chunk-34WPV75U.js} +23 -2
- package/{chunk-XPC5C7BK.js → chunk-3ND52WIL.js} +2 -2
- package/{chunk-SOTZ6RDN.js → chunk-3Q7WHGCB.js} +1 -1
- package/{chunk-3OIRVWXA.js → chunk-3ZX7PERL.js} +10 -1
- package/{chunk-KKY4B2Q2.js → chunk-4PWB7JRR.js} +4 -1
- package/{chunk-6N4KODMN.js → chunk-4T5F7YZQ.js} +1 -1
- package/chunk-7BUYEZ6U.js +671 -0
- package/{chunk-AS3ZQ3O2.js → chunk-7OBMZCRD.js} +1 -1
- package/{chunk-IGXREZW2.js → chunk-AHCY2S2I.js} +1 -1
- package/{chunk-QLUFR47U.js → chunk-AL2V7U3E.js} +1 -1
- package/{chunk-MTU75CZ2.js → chunk-B5TOXZAK.js} +1 -1
- package/{chunk-AUURUT6L.js → chunk-BV4VEE3W.js} +264 -424
- package/{chunk-FRV6A633.js → chunk-CZ6NYQTV.js} +13 -4
- package/{chunk-PCTUYVUM.js → chunk-DFCFMCY6.js} +10 -3
- package/{chunk-JTMNCCWF.js → chunk-DKZFOK24.js} +16 -87
- package/chunk-DL6EPNIK.js +50 -0
- package/{chunk-ZQBL7LIC.js → chunk-EDV7EBOI.js} +317 -216
- package/{chunk-IWLUTMYX.js → chunk-ELT65PZW.js} +2 -2
- package/chunk-FQZZLA3C.js +223 -0
- package/{chunk-55NSNCFM.js → chunk-FXUSIQC2.js} +1 -1
- package/{chunk-MR6ISAGB.js → chunk-G5U6LDLG.js} +6 -6
- package/chunk-GFUIQ4RY.js +136 -0
- package/{chunk-NVEWUJVX.js → chunk-HEGV7BH3.js} +1 -1
- package/{chunk-BEBNFWDU.js → chunk-HWW2M4SN.js} +3 -3
- package/{chunk-4L2OJPCU.js → chunk-I2ZJKTG5.js} +58 -8
- package/{chunk-Z5JQNBNY.js → chunk-IYEXFJPC.js} +34 -15
- package/{setDialogExtraReferencesAction-LR6MSIXO.js → chunk-JLA4FXYC.js} +2 -17
- package/chunk-KFEVY3ST.js +255 -0
- package/{chunk-4FX6NVDW.js → chunk-L4F3I4SR.js} +3 -136
- package/{chunk-XBS2WYJ2.js → chunk-LLWKHDG4.js} +1 -1
- package/{chunk-3WGLLTK4.js → chunk-LSFAWXKC.js} +100 -3
- package/{chunk-6EVITP2G.js → chunk-MHSGJW4Z.js} +2 -251
- package/{chunk-O6W2O2DA.js → chunk-MKA6QE5E.js} +6 -2
- package/{chunk-DGEYDWEZ.js → chunk-MPVYDS7I.js} +3 -3
- package/{chunk-KFHN5NGJ.js → chunk-MVQ4TBSD.js} +1 -1
- package/{chunk-AVVZUXXC.js → chunk-N54HIJVJ.js} +34 -13
- package/{chunk-EHLHSX7R.js → chunk-OK6YSWLH.js} +9 -2
- package/{chunk-33BJUVK4.js → chunk-PIZYJVHQ.js} +5 -5
- package/{chunk-RLCXU7A5.js → chunk-PJSV3IZ5.js} +1 -1
- package/{chunk-7UKFVQ5W.js → chunk-R35XMF6F.js} +126 -41
- package/{chunk-OOSFSFMA.js → chunk-R5V5G73M.js} +2 -0
- package/{chunk-S2LXHNHG.js → chunk-REA4JLBH.js} +6 -6
- package/chunk-RQN4SEKL.js +107 -0
- package/{chunk-EABWT43X.js → chunk-RVOUXDFU.js} +5 -5
- package/{chunk-NSCHQQPU.js → chunk-SCTYAHYK.js} +470 -325
- package/{chunk-JTINRTBT.js → chunk-SKDNBYZK.js} +2 -2
- package/{chunk-M43KDE25.js → chunk-SWDPIPOY.js} +2 -8
- package/{chunk-KMQPSTMJ.js → chunk-TRT4I4UD.js} +2 -2
- package/{chunk-66X4VSRC.js → chunk-UAIVG4J6.js} +42 -2
- package/{chunk-3663CXZN.js → chunk-UBHAWFQ6.js} +143 -31
- package/{chunk-YJKXGHJ6.js → chunk-UGUW3FHG.js} +4 -4
- package/{chunk-P3RIAYGG.js → chunk-V3ED5AWK.js} +3 -3
- package/chunk-V5R4NZP2.js +78 -0
- package/{chunk-4IJYA27C.js → chunk-VDXCXCXH.js} +1 -1
- package/{chunk-MYMMNKYL.js → chunk-VNAEBGDK.js} +156 -6
- package/{chunk-FY233ZFU.js → chunk-VYHDJEQD.js} +110 -192
- package/{chunk-W4NVOSFF.js → chunk-WFHXMLHZ.js} +1 -1
- package/{chunk-H33743XH.js → chunk-WJRJDX2W.js} +1 -1
- package/chunk-X4Q4UZEY.js +26 -0
- package/{chunk-RPDGJO4D.js → chunk-XHG22OEX.js} +4 -4
- package/{chunk-DVRHHFEA.js → chunk-XMLRJUU5.js} +1 -1
- package/{chunk-3S2VOMIF.js → chunk-XRZJGPFI.js} +7 -7
- package/{chunk-GSINCD4P.js → chunk-YGW4G5W5.js} +25 -12
- package/chunk-ZZ2MH7LE.js +84 -0
- package/{cliExecutor-K3F7DMRO.js → cliExecutor-DNE7TCC4.js} +2 -2
- package/codingSkills-36KN5NQT.js +48 -0
- package/{createAgentAutomationAction-FNHPSKKO.js → createAgentAutomationAction-GNFF524X.js} +20 -19
- package/{createDialogAction-TZCVQ3NU.js → createDialogAction-RB55KCLO.js} +22 -21
- package/{createPageAction-EIGZ3BKT.js → createPageAction-Y7343GLU.js} +26 -25
- package/{db-HCJ5PRB5.js → db-W3O47YGF.js} +38 -12
- package/{dbSlice-7KQH6GOU.js → dbSlice-CGSRFJN3.js} +8 -7
- package/{deleteFile-WPWVZE4B.js → deleteFile-WDZ3VM7B.js} +3 -3
- package/{dialogCommands-FO77J5DQ.js → dialogCommands-IAZK6YHQ.js} +30 -27
- package/{dialogSlice-MM5U4KE2.js → dialogSlice-UQAXF23P.js} +20 -19
- package/{docCreateCommands-I3BS3AZI.js → docCreateCommands-I2EWZGCI.js} +33 -28
- package/{docDeleteCommands-Q2OPV52P.js → docDeleteCommands-IZ45UZKG.js} +32 -27
- package/{docReadCommands-YOOFACYZ.js → docReadCommands-R6Z4QJYU.js} +31 -26
- package/{docStore-NGYQ2JTR.js → docStore-5HOJ4D7D.js} +21 -20
- package/{docUpdateCommands-2B32ITHN.js → docUpdateCommands-2LRBKQPY.js} +32 -27
- package/{fetchMessages-KTNM7QAR.js → fetchMessages-BMGVZVSE.js} +4 -3
- package/{getPricing-P4XRJRZB.js → getPricing-G7DLAST6.js} +3 -3
- package/{handleSendMessageAction-JRZWWBKP.js → handleSendMessageAction-Q4HY35WX.js} +21 -20
- package/index.js +95 -64
- package/{localDialogRead-2VRI24F4.js → localDialogRead-4H3QJFLW.js} +2 -2
- package/{localRuntimeDb-LGDF6FQP.js → localRuntimeDb-THJZGAOJ.js} +1 -1
- package/{machineCommands-WRWF2ICZ.js → machineCommands-PKBPQKTY.js} +63 -57
- package/{machineWsRunDispatch-ZX7Q3TWZ.js → machineWsRunDispatch-UZAW4OXJ.js} +55 -49
- package/{models-WQ5N4OJM.js → models-DJFSJ7SW.js} +2 -2
- package/package.json +1 -1
- package/queryRunOverlay-O4LOMMPO.js +161 -0
- package/{read-CN3TNXIP.js → read-3FMPZPER.js} +3 -3
- package/{readDocTool-WF3675ED.js → readDocTool-VSYHKK3V.js} +1 -1
- package/{readlineWorkspace-ZTGRGW46.js → readlineWorkspace-Y2RDOFZG.js} +762 -218
- package/{removeDialogAgentAction-YDHBFEGI.js → removeDialogAgentAction-OAGA2G3U.js} +10 -9
- package/{runAgentClientLoop-JZCOP7LG.js → runAgentClientLoop-NBPIKJ6J.js} +44 -38
- package/runOverlayPresentation-ZO4VCWEU.js +11 -0
- package/{runtimeDoctorCommands-THIHX2SY.js → runtimeDoctorCommands-E2OUORHK.js} +6 -6
- package/setDialogExtraReferencesAction-JZEXA5SL.js +27 -0
- package/{setPrimaryDialogAgentAction-IIVDCY5C.js → setPrimaryDialogAgentAction-4ZUQQKDG.js} +26 -17
- package/{settingSlice-O23YDK2O.js → settingSlice-7MNKHZ6R.js} +9 -8
- package/{skillDiscovery-6M2BZUFN.js → skillDiscovery-KJWT7JBU.js} +3 -3
- package/{spaceCommands-VV4GTPQK.js → spaceCommands-DHCZ7J5I.js} +31 -28
- package/{spaceSlice-DRWWZJP7.js → spaceSlice-ZXLLG3CR.js} +20 -19
- package/{streamAgentChatTurn-Y6WGATQR.js → streamAgentChatTurn-L3YW6LSB.js} +98 -57
- package/{tableCommands-3P7MJ3PF.js → tableCommands-BEQAGE4I.js} +1 -1
- package/{tools-PUNBY3AH.js → tools-ECGXR5QF.js} +33 -28
- package/{tuiSummaryLlmCaller-F64WLSAF.js → tuiSummaryLlmCaller-OMSCNHXA.js} +6 -5
- package/types-ZSTJ7MPR.js +7 -0
- package/{updateDialogTitleAction-YSR4TCMB.js → updateDialogTitleAction-HQ2EUDFT.js} +23 -22
- package/{chunk-O4BU24WZ.js → chunk-6Y7A3OQQ.js} +3 -3
- package/{chunk-CMKUBIGW.js → chunk-X7W4TNB4.js} +3 -3
- package/{localRuntimeAuthority-TEGCOWX4.js → localRuntimeAuthority-4IXJCHZ7.js} +3 -3
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cliApiRequest,
|
|
3
|
+
outputResult,
|
|
4
|
+
pickDefined,
|
|
5
|
+
printCliError,
|
|
6
|
+
resolveCliContext
|
|
7
|
+
} from "./chunk-RQN4SEKL.js";
|
|
8
|
+
import {
|
|
9
|
+
hasFlag,
|
|
10
|
+
hasHelpArg
|
|
11
|
+
} from "./chunk-L4F3I4SR.js";
|
|
12
|
+
import "./chunk-DFCFMCY6.js";
|
|
13
|
+
import "./chunk-SWDPIPOY.js";
|
|
14
|
+
import "./chunk-VHBWHNVT.js";
|
|
15
|
+
import "./chunk-VF4K2QE6.js";
|
|
16
|
+
import "./chunk-R35XMF6F.js";
|
|
17
|
+
import "./chunk-ZNFJWEN4.js";
|
|
18
|
+
import "./chunk-N54HIJVJ.js";
|
|
19
|
+
import "./chunk-OIQPORYI.js";
|
|
20
|
+
import "./chunk-YGW4G5W5.js";
|
|
21
|
+
import "./chunk-LSFAWXKC.js";
|
|
22
|
+
import "./chunk-34WPV75U.js";
|
|
23
|
+
import "./chunk-KFEVY3ST.js";
|
|
24
|
+
import "./chunk-MHSGJW4Z.js";
|
|
25
|
+
import "./chunk-DKZFOK24.js";
|
|
26
|
+
import "./chunk-I2ZJKTG5.js";
|
|
27
|
+
import "./chunk-5MMAK75Q.js";
|
|
28
|
+
import "./chunk-5CS33IBL.js";
|
|
29
|
+
import "./chunk-JZPBVBIY.js";
|
|
30
|
+
import "./chunk-UAIVG4J6.js";
|
|
31
|
+
import "./chunk-ZHXJ6M7T.js";
|
|
32
|
+
import "./chunk-HNMXYYJR.js";
|
|
33
|
+
import "./chunk-ELT65PZW.js";
|
|
34
|
+
import "./chunk-AL2V7U3E.js";
|
|
35
|
+
import "./chunk-4PWB7JRR.js";
|
|
36
|
+
import "./chunk-ZZ2MH7LE.js";
|
|
37
|
+
import "./chunk-DWLEOOGR.js";
|
|
38
|
+
import "./chunk-IDZTNRP2.js";
|
|
39
|
+
import {
|
|
40
|
+
readOption
|
|
41
|
+
} from "./chunk-A7GB5UGH.js";
|
|
42
|
+
import "./chunk-OLZBQWZU.js";
|
|
43
|
+
import "./chunk-LLWKHDG4.js";
|
|
44
|
+
import "./chunk-MKA6QE5E.js";
|
|
45
|
+
import "./chunk-KX6YBIHG.js";
|
|
46
|
+
import "./chunk-XRZJGPFI.js";
|
|
47
|
+
import "./chunk-6Y7A3OQQ.js";
|
|
48
|
+
import "./chunk-WWC7I6TA.js";
|
|
49
|
+
import "./chunk-SKDNBYZK.js";
|
|
50
|
+
import "./chunk-I42VC5KR.js";
|
|
51
|
+
import "./chunk-QSJ3HFEF.js";
|
|
52
|
+
import "./chunk-X4Q4UZEY.js";
|
|
53
|
+
import "./chunk-3ND52WIL.js";
|
|
54
|
+
import "./chunk-XMLRJUU5.js";
|
|
55
|
+
import "./chunk-R5V5G73M.js";
|
|
56
|
+
import "./chunk-GBRG75BQ.js";
|
|
57
|
+
import "./chunk-3EUW3WEO.js";
|
|
58
|
+
import "./chunk-U6VC4MU4.js";
|
|
59
|
+
import "./chunk-KUG52IAP.js";
|
|
60
|
+
import "./chunk-LCBAMY2M.js";
|
|
61
|
+
import "./chunk-4SN6J65J.js";
|
|
62
|
+
import "./chunk-CF7PE763.js";
|
|
63
|
+
import "./chunk-G3SUCT4W.js";
|
|
64
|
+
import "./chunk-4VNS5WPM.js";
|
|
65
|
+
|
|
66
|
+
// packages/cli/appDeleteCommands.ts
|
|
67
|
+
function printAppDeleteUsage() {
|
|
68
|
+
process.stdout.write(`Usage:
|
|
69
|
+
nolo app delete (--name <name> | --app-id <id>)
|
|
70
|
+
|
|
71
|
+
Options:
|
|
72
|
+
--name <name> App name to delete
|
|
73
|
+
--app-id <id> App id to delete
|
|
74
|
+
--yes Skip confirmation prompt
|
|
75
|
+
--json Print machine-readable JSON
|
|
76
|
+
--server <url> Server to query
|
|
77
|
+
--token <jwt> Auth token. Required for writes.
|
|
78
|
+
`);
|
|
79
|
+
}
|
|
80
|
+
async function runAppDeleteCommand(args, deps) {
|
|
81
|
+
if (hasHelpArg(args)) {
|
|
82
|
+
printAppDeleteUsage();
|
|
83
|
+
return 0;
|
|
84
|
+
}
|
|
85
|
+
const name = readOption(args, "--name");
|
|
86
|
+
const appId = readOption(args, "--app-id");
|
|
87
|
+
const skipConfirm = hasFlag(args, "--yes");
|
|
88
|
+
const shouldOutputJson = hasFlag(args, "--json");
|
|
89
|
+
if (!name && !appId) {
|
|
90
|
+
printAppDeleteUsage();
|
|
91
|
+
process.stderr.write("\n\u9519\u8BEF: \u5FC5\u987B\u63D0\u4F9B --name \u6216 --app-id\n");
|
|
92
|
+
return 1;
|
|
93
|
+
}
|
|
94
|
+
if (!skipConfirm) {
|
|
95
|
+
const target = name ? `name="${name}"` : `appId="${appId}"`;
|
|
96
|
+
process.stdout.write(`\u5373\u5C06\u5220\u9664\u5E94\u7528 (${target})\uFF0C\u6B64\u64CD\u4F5C\u4E0D\u53EF\u64A4\u9500\u3002\u786E\u8BA4\uFF1F[y/N] `);
|
|
97
|
+
const answer = await new Promise((resolve) => {
|
|
98
|
+
let data = "";
|
|
99
|
+
process.stdin.setEncoding("utf-8");
|
|
100
|
+
process.stdin.once("data", (chunk) => {
|
|
101
|
+
data = chunk.toString();
|
|
102
|
+
resolve(data.trim().toLowerCase());
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
if (answer !== "y" && answer !== "yes") {
|
|
106
|
+
process.stdout.write("\u5DF2\u53D6\u6D88\n");
|
|
107
|
+
return 0;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
const { serverUrl, authToken } = resolveCliContext(args, deps.env);
|
|
112
|
+
const body = pickDefined({ name, appId });
|
|
113
|
+
const data = await cliApiRequest({ serverUrl, authToken, path: "/api/app/delete", body });
|
|
114
|
+
outputResult(data, shouldOutputJson, () => {
|
|
115
|
+
const target = name ? `name="${name}"` : `appId="${appId}"`;
|
|
116
|
+
process.stdout.write(`\u5DF2\u5220\u9664\u5E94\u7528 (${target})
|
|
117
|
+
`);
|
|
118
|
+
});
|
|
119
|
+
return 0;
|
|
120
|
+
} catch (error) {
|
|
121
|
+
printCliError(error);
|
|
122
|
+
return 1;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export {
|
|
126
|
+
runAppDeleteCommand
|
|
127
|
+
};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cliApiRequest,
|
|
3
|
+
formatFields,
|
|
4
|
+
outputResult,
|
|
5
|
+
pickDefined,
|
|
6
|
+
printCliError,
|
|
7
|
+
resolveCliContext
|
|
8
|
+
} from "./chunk-RQN4SEKL.js";
|
|
9
|
+
import {
|
|
10
|
+
hasFlag,
|
|
11
|
+
hasHelpArg
|
|
12
|
+
} from "./chunk-L4F3I4SR.js";
|
|
13
|
+
import "./chunk-DFCFMCY6.js";
|
|
14
|
+
import "./chunk-SWDPIPOY.js";
|
|
15
|
+
import "./chunk-VHBWHNVT.js";
|
|
16
|
+
import "./chunk-VF4K2QE6.js";
|
|
17
|
+
import "./chunk-R35XMF6F.js";
|
|
18
|
+
import "./chunk-ZNFJWEN4.js";
|
|
19
|
+
import "./chunk-N54HIJVJ.js";
|
|
20
|
+
import "./chunk-OIQPORYI.js";
|
|
21
|
+
import "./chunk-YGW4G5W5.js";
|
|
22
|
+
import "./chunk-LSFAWXKC.js";
|
|
23
|
+
import "./chunk-34WPV75U.js";
|
|
24
|
+
import "./chunk-KFEVY3ST.js";
|
|
25
|
+
import "./chunk-MHSGJW4Z.js";
|
|
26
|
+
import "./chunk-DKZFOK24.js";
|
|
27
|
+
import "./chunk-I2ZJKTG5.js";
|
|
28
|
+
import "./chunk-5MMAK75Q.js";
|
|
29
|
+
import "./chunk-5CS33IBL.js";
|
|
30
|
+
import "./chunk-JZPBVBIY.js";
|
|
31
|
+
import "./chunk-UAIVG4J6.js";
|
|
32
|
+
import "./chunk-ZHXJ6M7T.js";
|
|
33
|
+
import "./chunk-HNMXYYJR.js";
|
|
34
|
+
import "./chunk-ELT65PZW.js";
|
|
35
|
+
import "./chunk-AL2V7U3E.js";
|
|
36
|
+
import "./chunk-4PWB7JRR.js";
|
|
37
|
+
import "./chunk-ZZ2MH7LE.js";
|
|
38
|
+
import "./chunk-DWLEOOGR.js";
|
|
39
|
+
import "./chunk-IDZTNRP2.js";
|
|
40
|
+
import {
|
|
41
|
+
readOption
|
|
42
|
+
} from "./chunk-A7GB5UGH.js";
|
|
43
|
+
import "./chunk-OLZBQWZU.js";
|
|
44
|
+
import "./chunk-LLWKHDG4.js";
|
|
45
|
+
import "./chunk-MKA6QE5E.js";
|
|
46
|
+
import "./chunk-KX6YBIHG.js";
|
|
47
|
+
import "./chunk-XRZJGPFI.js";
|
|
48
|
+
import "./chunk-6Y7A3OQQ.js";
|
|
49
|
+
import "./chunk-WWC7I6TA.js";
|
|
50
|
+
import "./chunk-SKDNBYZK.js";
|
|
51
|
+
import "./chunk-I42VC5KR.js";
|
|
52
|
+
import "./chunk-QSJ3HFEF.js";
|
|
53
|
+
import "./chunk-X4Q4UZEY.js";
|
|
54
|
+
import "./chunk-3ND52WIL.js";
|
|
55
|
+
import "./chunk-XMLRJUU5.js";
|
|
56
|
+
import "./chunk-R5V5G73M.js";
|
|
57
|
+
import "./chunk-GBRG75BQ.js";
|
|
58
|
+
import "./chunk-3EUW3WEO.js";
|
|
59
|
+
import "./chunk-U6VC4MU4.js";
|
|
60
|
+
import "./chunk-KUG52IAP.js";
|
|
61
|
+
import "./chunk-LCBAMY2M.js";
|
|
62
|
+
import "./chunk-4SN6J65J.js";
|
|
63
|
+
import "./chunk-CF7PE763.js";
|
|
64
|
+
import "./chunk-G3SUCT4W.js";
|
|
65
|
+
import "./chunk-4VNS5WPM.js";
|
|
66
|
+
|
|
67
|
+
// packages/cli/appDeployCommands.ts
|
|
68
|
+
import { readFileSync } from "node:fs";
|
|
69
|
+
function printAppDeployUsage() {
|
|
70
|
+
process.stdout.write(`Usage:
|
|
71
|
+
nolo app deploy --name <name> [--code <text> | --code-file <path> | --files <json>]
|
|
72
|
+
|
|
73
|
+
Options:
|
|
74
|
+
--name <name> App name (required for new apps)
|
|
75
|
+
--app-id <id> Update an existing app by id
|
|
76
|
+
--code <text> Single-file worker source code
|
|
77
|
+
--code-file <path> Read single-file source from a file
|
|
78
|
+
--files <json> JSON array of {name, code} for multi-file apps
|
|
79
|
+
--framework <type> worker | react-spa | nolo-react
|
|
80
|
+
--space-id <id> Attach app to a space
|
|
81
|
+
--deploy-target <t> Deploy target hint
|
|
82
|
+
--json Print machine-readable JSON
|
|
83
|
+
--server <url> Server to deploy to
|
|
84
|
+
--token <jwt> Auth token. Required for writes.
|
|
85
|
+
`);
|
|
86
|
+
}
|
|
87
|
+
function parseDeployArgs(args) {
|
|
88
|
+
const name = readOption(args, "--name");
|
|
89
|
+
const appId = readOption(args, "--app-id");
|
|
90
|
+
const codeFlag = readOption(args, "--code");
|
|
91
|
+
const codeFile = readOption(args, "--code-file");
|
|
92
|
+
const filesFlag = readOption(args, "--files");
|
|
93
|
+
const framework = readOption(args, "--framework");
|
|
94
|
+
const spaceId = readOption(args, "--space-id");
|
|
95
|
+
const deployTarget = readOption(args, "--deploy-target");
|
|
96
|
+
if (!name && !appId) {
|
|
97
|
+
return { body: {}, error: "\u5FC5\u987B\u63D0\u4F9B --name \u6216 --app-id" };
|
|
98
|
+
}
|
|
99
|
+
let code;
|
|
100
|
+
if (codeFlag) code = codeFlag;
|
|
101
|
+
if (codeFile) {
|
|
102
|
+
try {
|
|
103
|
+
code = readFileSync(codeFile, "utf-8");
|
|
104
|
+
} catch (error) {
|
|
105
|
+
return { body: {}, error: `\u65E0\u6CD5\u8BFB\u53D6 --code-file: ${error.message}` };
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
let files;
|
|
109
|
+
if (filesFlag) {
|
|
110
|
+
try {
|
|
111
|
+
const parsed = JSON.parse(filesFlag);
|
|
112
|
+
if (!Array.isArray(parsed)) {
|
|
113
|
+
return { body: {}, error: "--files \u5FC5\u987B\u662F JSON \u6570\u7EC4" };
|
|
114
|
+
}
|
|
115
|
+
files = parsed.map((f) => ({
|
|
116
|
+
name: String(f.name ?? ""),
|
|
117
|
+
code: String(f.code ?? "")
|
|
118
|
+
}));
|
|
119
|
+
} catch (error) {
|
|
120
|
+
return { body: {}, error: `--files \u89E3\u6790\u5931\u8D25: ${error.message}` };
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (!code && !files && !appId) {
|
|
124
|
+
return { body: {}, error: "\u5FC5\u987B\u63D0\u4F9B --code / --code-file / --files \u4E4B\u4E00" };
|
|
125
|
+
}
|
|
126
|
+
const body = pickDefined({ name, appId, code, files, framework, spaceId, deployTarget });
|
|
127
|
+
return { body };
|
|
128
|
+
}
|
|
129
|
+
async function runAppDeployCommand(args, deps) {
|
|
130
|
+
if (hasHelpArg(args)) {
|
|
131
|
+
printAppDeployUsage();
|
|
132
|
+
return 0;
|
|
133
|
+
}
|
|
134
|
+
const { body, error } = parseDeployArgs(args);
|
|
135
|
+
if (error) {
|
|
136
|
+
printAppDeployUsage();
|
|
137
|
+
process.stderr.write(`
|
|
138
|
+
\u9519\u8BEF: ${error}
|
|
139
|
+
`);
|
|
140
|
+
return 1;
|
|
141
|
+
}
|
|
142
|
+
try {
|
|
143
|
+
const { serverUrl, authToken } = resolveCliContext(args, deps.env);
|
|
144
|
+
const data = await cliApiRequest({ serverUrl, authToken, path: "/api/app/deploy", body });
|
|
145
|
+
outputResult(data, hasFlag(args, "--json"), () => {
|
|
146
|
+
process.stdout.write("\u90E8\u7F72\u6210\u529F\n");
|
|
147
|
+
const fields = [];
|
|
148
|
+
if (data.jobId) fields.push(["jobId", data.jobId]);
|
|
149
|
+
if (data.url) fields.push(["url", data.url]);
|
|
150
|
+
if (data.appId) fields.push(["appId", data.appId]);
|
|
151
|
+
if (data.status) fields.push(["status", data.status]);
|
|
152
|
+
if (fields.length > 0) {
|
|
153
|
+
process.stdout.write(formatFields(fields, " "));
|
|
154
|
+
process.stdout.write("\n");
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
return 0;
|
|
158
|
+
} catch (error2) {
|
|
159
|
+
printCliError(error2);
|
|
160
|
+
return 1;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
export {
|
|
164
|
+
parseDeployArgs,
|
|
165
|
+
runAppDeployCommand
|
|
166
|
+
};
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cliApiRequest,
|
|
3
|
+
formatFields,
|
|
4
|
+
outputResult,
|
|
5
|
+
printCliError,
|
|
6
|
+
resolveCliContext
|
|
7
|
+
} from "./chunk-RQN4SEKL.js";
|
|
8
|
+
import {
|
|
9
|
+
hasFlag,
|
|
10
|
+
hasHelpArg
|
|
11
|
+
} from "./chunk-L4F3I4SR.js";
|
|
12
|
+
import "./chunk-DFCFMCY6.js";
|
|
13
|
+
import "./chunk-SWDPIPOY.js";
|
|
14
|
+
import "./chunk-VHBWHNVT.js";
|
|
15
|
+
import "./chunk-VF4K2QE6.js";
|
|
16
|
+
import "./chunk-R35XMF6F.js";
|
|
17
|
+
import "./chunk-ZNFJWEN4.js";
|
|
18
|
+
import "./chunk-N54HIJVJ.js";
|
|
19
|
+
import "./chunk-OIQPORYI.js";
|
|
20
|
+
import "./chunk-YGW4G5W5.js";
|
|
21
|
+
import "./chunk-LSFAWXKC.js";
|
|
22
|
+
import "./chunk-34WPV75U.js";
|
|
23
|
+
import "./chunk-KFEVY3ST.js";
|
|
24
|
+
import "./chunk-MHSGJW4Z.js";
|
|
25
|
+
import "./chunk-DKZFOK24.js";
|
|
26
|
+
import "./chunk-I2ZJKTG5.js";
|
|
27
|
+
import "./chunk-5MMAK75Q.js";
|
|
28
|
+
import "./chunk-5CS33IBL.js";
|
|
29
|
+
import "./chunk-JZPBVBIY.js";
|
|
30
|
+
import "./chunk-UAIVG4J6.js";
|
|
31
|
+
import "./chunk-ZHXJ6M7T.js";
|
|
32
|
+
import "./chunk-HNMXYYJR.js";
|
|
33
|
+
import "./chunk-ELT65PZW.js";
|
|
34
|
+
import "./chunk-AL2V7U3E.js";
|
|
35
|
+
import "./chunk-4PWB7JRR.js";
|
|
36
|
+
import "./chunk-ZZ2MH7LE.js";
|
|
37
|
+
import "./chunk-DWLEOOGR.js";
|
|
38
|
+
import "./chunk-IDZTNRP2.js";
|
|
39
|
+
import {
|
|
40
|
+
readOption
|
|
41
|
+
} from "./chunk-A7GB5UGH.js";
|
|
42
|
+
import "./chunk-OLZBQWZU.js";
|
|
43
|
+
import "./chunk-LLWKHDG4.js";
|
|
44
|
+
import "./chunk-MKA6QE5E.js";
|
|
45
|
+
import "./chunk-KX6YBIHG.js";
|
|
46
|
+
import "./chunk-XRZJGPFI.js";
|
|
47
|
+
import "./chunk-6Y7A3OQQ.js";
|
|
48
|
+
import "./chunk-WWC7I6TA.js";
|
|
49
|
+
import "./chunk-SKDNBYZK.js";
|
|
50
|
+
import "./chunk-I42VC5KR.js";
|
|
51
|
+
import "./chunk-QSJ3HFEF.js";
|
|
52
|
+
import "./chunk-X4Q4UZEY.js";
|
|
53
|
+
import "./chunk-3ND52WIL.js";
|
|
54
|
+
import "./chunk-XMLRJUU5.js";
|
|
55
|
+
import "./chunk-R5V5G73M.js";
|
|
56
|
+
import "./chunk-GBRG75BQ.js";
|
|
57
|
+
import "./chunk-3EUW3WEO.js";
|
|
58
|
+
import "./chunk-U6VC4MU4.js";
|
|
59
|
+
import "./chunk-KUG52IAP.js";
|
|
60
|
+
import "./chunk-LCBAMY2M.js";
|
|
61
|
+
import "./chunk-4SN6J65J.js";
|
|
62
|
+
import "./chunk-CF7PE763.js";
|
|
63
|
+
import "./chunk-G3SUCT4W.js";
|
|
64
|
+
import "./chunk-4VNS5WPM.js";
|
|
65
|
+
|
|
66
|
+
// packages/cli/appDeployStatusCommands.ts
|
|
67
|
+
function printAppDeployStatusUsage() {
|
|
68
|
+
process.stdout.write(`Usage:
|
|
69
|
+
nolo app deploy status --job-id <id> [--watch]
|
|
70
|
+
|
|
71
|
+
Options:
|
|
72
|
+
--job-id <id> Deploy job id (required)
|
|
73
|
+
--watch Poll until status is done or failed
|
|
74
|
+
--interval-ms <ms> Poll interval (default 2000)
|
|
75
|
+
--json Print machine-readable JSON
|
|
76
|
+
--server <url> Server to query
|
|
77
|
+
--token <jwt> Auth token. Required for reads.
|
|
78
|
+
`);
|
|
79
|
+
}
|
|
80
|
+
async function fetchDeployStatus(serverUrl, authToken, jobId) {
|
|
81
|
+
return cliApiRequest({
|
|
82
|
+
serverUrl,
|
|
83
|
+
authToken,
|
|
84
|
+
path: "/api/app/deploy/status",
|
|
85
|
+
body: { jobId }
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
async function runAppDeployStatusCommand(args, deps) {
|
|
89
|
+
if (hasHelpArg(args)) {
|
|
90
|
+
printAppDeployStatusUsage();
|
|
91
|
+
return 0;
|
|
92
|
+
}
|
|
93
|
+
const jobId = readOption(args, "--job-id");
|
|
94
|
+
if (!jobId) {
|
|
95
|
+
printAppDeployStatusUsage();
|
|
96
|
+
process.stderr.write("\n\u9519\u8BEF: \u5FC5\u987B\u63D0\u4F9B --job-id\n");
|
|
97
|
+
return 1;
|
|
98
|
+
}
|
|
99
|
+
const shouldWatch = hasFlag(args, "--watch");
|
|
100
|
+
const shouldOutputJson = hasFlag(args, "--json");
|
|
101
|
+
const intervalMs = (() => {
|
|
102
|
+
const raw = readOption(args, "--interval-ms");
|
|
103
|
+
const parsed = raw ? Number.parseInt(raw, 10) : NaN;
|
|
104
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : 2e3;
|
|
105
|
+
})();
|
|
106
|
+
try {
|
|
107
|
+
const { serverUrl, authToken } = resolveCliContext(args, deps.env);
|
|
108
|
+
let data = await fetchDeployStatus(serverUrl, authToken, jobId);
|
|
109
|
+
if (shouldWatch) {
|
|
110
|
+
while (data.status !== "done" && data.status !== "failed") {
|
|
111
|
+
await new Promise((resolve) => setTimeout(resolve, intervalMs));
|
|
112
|
+
data = await fetchDeployStatus(serverUrl, authToken, jobId);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
outputResult(data, shouldOutputJson, () => {
|
|
116
|
+
process.stdout.write("\u90E8\u7F72\u72B6\u6001\n\n");
|
|
117
|
+
const fields = [
|
|
118
|
+
["jobId", data.jobId ?? jobId],
|
|
119
|
+
["status", data.status]
|
|
120
|
+
];
|
|
121
|
+
if (data.summary) fields.push(["summary", data.summary]);
|
|
122
|
+
if (data.url) fields.push(["url", data.url]);
|
|
123
|
+
if (data.error) {
|
|
124
|
+
const err = data.error;
|
|
125
|
+
fields.push(["error", err.message ?? String(data.error)]);
|
|
126
|
+
}
|
|
127
|
+
process.stdout.write(formatFields(fields, " "));
|
|
128
|
+
if (Array.isArray(data.steps)) {
|
|
129
|
+
process.stdout.write("\n steps:\n");
|
|
130
|
+
for (const step of data.steps) {
|
|
131
|
+
process.stdout.write(` - ${step.name ?? "?"}: ${step.status ?? "?"}
|
|
132
|
+
`);
|
|
133
|
+
}
|
|
134
|
+
} else {
|
|
135
|
+
process.stdout.write("\n");
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return data.status === "failed" ? 1 : 0;
|
|
139
|
+
} catch (error) {
|
|
140
|
+
printCliError(error);
|
|
141
|
+
return 1;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
export {
|
|
145
|
+
fetchDeployStatus,
|
|
146
|
+
runAppDeployStatusCommand
|
|
147
|
+
};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cliApiRequest,
|
|
3
|
+
formatFields,
|
|
4
|
+
outputResult,
|
|
5
|
+
pickDefined,
|
|
6
|
+
printCliError,
|
|
7
|
+
resolveCliContext
|
|
8
|
+
} from "./chunk-RQN4SEKL.js";
|
|
9
|
+
import {
|
|
10
|
+
hasFlag,
|
|
11
|
+
hasHelpArg
|
|
12
|
+
} from "./chunk-L4F3I4SR.js";
|
|
13
|
+
import "./chunk-DFCFMCY6.js";
|
|
14
|
+
import "./chunk-SWDPIPOY.js";
|
|
15
|
+
import "./chunk-VHBWHNVT.js";
|
|
16
|
+
import "./chunk-VF4K2QE6.js";
|
|
17
|
+
import "./chunk-R35XMF6F.js";
|
|
18
|
+
import "./chunk-ZNFJWEN4.js";
|
|
19
|
+
import "./chunk-N54HIJVJ.js";
|
|
20
|
+
import "./chunk-OIQPORYI.js";
|
|
21
|
+
import "./chunk-YGW4G5W5.js";
|
|
22
|
+
import "./chunk-LSFAWXKC.js";
|
|
23
|
+
import "./chunk-34WPV75U.js";
|
|
24
|
+
import "./chunk-KFEVY3ST.js";
|
|
25
|
+
import "./chunk-MHSGJW4Z.js";
|
|
26
|
+
import "./chunk-DKZFOK24.js";
|
|
27
|
+
import "./chunk-I2ZJKTG5.js";
|
|
28
|
+
import "./chunk-5MMAK75Q.js";
|
|
29
|
+
import "./chunk-5CS33IBL.js";
|
|
30
|
+
import "./chunk-JZPBVBIY.js";
|
|
31
|
+
import "./chunk-UAIVG4J6.js";
|
|
32
|
+
import "./chunk-ZHXJ6M7T.js";
|
|
33
|
+
import "./chunk-HNMXYYJR.js";
|
|
34
|
+
import "./chunk-ELT65PZW.js";
|
|
35
|
+
import "./chunk-AL2V7U3E.js";
|
|
36
|
+
import "./chunk-4PWB7JRR.js";
|
|
37
|
+
import "./chunk-ZZ2MH7LE.js";
|
|
38
|
+
import "./chunk-DWLEOOGR.js";
|
|
39
|
+
import "./chunk-IDZTNRP2.js";
|
|
40
|
+
import {
|
|
41
|
+
readOption
|
|
42
|
+
} from "./chunk-A7GB5UGH.js";
|
|
43
|
+
import "./chunk-OLZBQWZU.js";
|
|
44
|
+
import "./chunk-LLWKHDG4.js";
|
|
45
|
+
import "./chunk-MKA6QE5E.js";
|
|
46
|
+
import "./chunk-KX6YBIHG.js";
|
|
47
|
+
import "./chunk-XRZJGPFI.js";
|
|
48
|
+
import "./chunk-6Y7A3OQQ.js";
|
|
49
|
+
import "./chunk-WWC7I6TA.js";
|
|
50
|
+
import "./chunk-SKDNBYZK.js";
|
|
51
|
+
import "./chunk-I42VC5KR.js";
|
|
52
|
+
import "./chunk-QSJ3HFEF.js";
|
|
53
|
+
import "./chunk-X4Q4UZEY.js";
|
|
54
|
+
import "./chunk-3ND52WIL.js";
|
|
55
|
+
import "./chunk-XMLRJUU5.js";
|
|
56
|
+
import "./chunk-R5V5G73M.js";
|
|
57
|
+
import "./chunk-GBRG75BQ.js";
|
|
58
|
+
import "./chunk-3EUW3WEO.js";
|
|
59
|
+
import "./chunk-U6VC4MU4.js";
|
|
60
|
+
import "./chunk-KUG52IAP.js";
|
|
61
|
+
import "./chunk-LCBAMY2M.js";
|
|
62
|
+
import "./chunk-4SN6J65J.js";
|
|
63
|
+
import "./chunk-CF7PE763.js";
|
|
64
|
+
import "./chunk-G3SUCT4W.js";
|
|
65
|
+
import "./chunk-4VNS5WPM.js";
|
|
66
|
+
|
|
67
|
+
// packages/cli/appGetCommands.ts
|
|
68
|
+
function printAppGetUsage() {
|
|
69
|
+
process.stdout.write(`Usage:
|
|
70
|
+
nolo app get (--name <name> | --app-id <id> | --app-key <key>)
|
|
71
|
+
|
|
72
|
+
Options:
|
|
73
|
+
--name <name> App name
|
|
74
|
+
--app-id <id> App id
|
|
75
|
+
--app-key <key> Full app key
|
|
76
|
+
--json Print machine-readable JSON
|
|
77
|
+
--server <url> Server to query
|
|
78
|
+
--token <jwt> Auth token. Required for reads.
|
|
79
|
+
`);
|
|
80
|
+
}
|
|
81
|
+
async function runAppGetCommand(args, deps) {
|
|
82
|
+
if (hasHelpArg(args)) {
|
|
83
|
+
printAppGetUsage();
|
|
84
|
+
return 0;
|
|
85
|
+
}
|
|
86
|
+
const name = readOption(args, "--name");
|
|
87
|
+
const appId = readOption(args, "--app-id");
|
|
88
|
+
const appKey = readOption(args, "--app-key");
|
|
89
|
+
if (!name && !appId && !appKey) {
|
|
90
|
+
printAppGetUsage();
|
|
91
|
+
process.stderr.write("\n\u9519\u8BEF: \u5FC5\u987B\u63D0\u4F9B --name / --app-id / --app-key \u4E4B\u4E00\n");
|
|
92
|
+
return 1;
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
const { serverUrl, authToken } = resolveCliContext(args, deps.env);
|
|
96
|
+
const body = pickDefined({ name, appId, appKey });
|
|
97
|
+
const data = await cliApiRequest({ serverUrl, authToken, path: "/api/app/get", body });
|
|
98
|
+
outputResult(data, hasFlag(args, "--json"), () => {
|
|
99
|
+
process.stdout.write("\u5E94\u7528\u8BE6\u60C5\n\n");
|
|
100
|
+
const fields = [
|
|
101
|
+
["name", data.name ?? data.userFriendlyName],
|
|
102
|
+
["appId", data.appId],
|
|
103
|
+
["appKey", data.appKey],
|
|
104
|
+
["framework", data.framework],
|
|
105
|
+
["visibility", data.visibility]
|
|
106
|
+
];
|
|
107
|
+
if (data.url) fields.push(["url", data.url]);
|
|
108
|
+
if (data.customUrl) fields.push(["customUrl", data.customUrl]);
|
|
109
|
+
if (data.spaceId) fields.push(["spaceId", data.spaceId]);
|
|
110
|
+
if (data.sourceStatus) fields.push(["source", data.sourceStatus]);
|
|
111
|
+
process.stdout.write(formatFields(fields, " "));
|
|
112
|
+
process.stdout.write("\n");
|
|
113
|
+
});
|
|
114
|
+
return 0;
|
|
115
|
+
} catch (error) {
|
|
116
|
+
printCliError(error);
|
|
117
|
+
return 1;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export {
|
|
121
|
+
runAppGetCommand
|
|
122
|
+
};
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cliApiRequest,
|
|
3
|
+
formatFields,
|
|
4
|
+
outputResult,
|
|
5
|
+
pickDefined,
|
|
6
|
+
printCliError,
|
|
7
|
+
resolveCliContext
|
|
8
|
+
} from "./chunk-RQN4SEKL.js";
|
|
9
|
+
import {
|
|
10
|
+
hasFlag,
|
|
11
|
+
hasHelpArg
|
|
12
|
+
} from "./chunk-L4F3I4SR.js";
|
|
13
|
+
import "./chunk-DFCFMCY6.js";
|
|
14
|
+
import "./chunk-SWDPIPOY.js";
|
|
15
|
+
import "./chunk-VHBWHNVT.js";
|
|
16
|
+
import "./chunk-VF4K2QE6.js";
|
|
17
|
+
import "./chunk-R35XMF6F.js";
|
|
18
|
+
import "./chunk-ZNFJWEN4.js";
|
|
19
|
+
import "./chunk-N54HIJVJ.js";
|
|
20
|
+
import "./chunk-OIQPORYI.js";
|
|
21
|
+
import "./chunk-YGW4G5W5.js";
|
|
22
|
+
import "./chunk-LSFAWXKC.js";
|
|
23
|
+
import "./chunk-34WPV75U.js";
|
|
24
|
+
import "./chunk-KFEVY3ST.js";
|
|
25
|
+
import "./chunk-MHSGJW4Z.js";
|
|
26
|
+
import "./chunk-DKZFOK24.js";
|
|
27
|
+
import "./chunk-I2ZJKTG5.js";
|
|
28
|
+
import "./chunk-5MMAK75Q.js";
|
|
29
|
+
import "./chunk-5CS33IBL.js";
|
|
30
|
+
import "./chunk-JZPBVBIY.js";
|
|
31
|
+
import "./chunk-UAIVG4J6.js";
|
|
32
|
+
import "./chunk-ZHXJ6M7T.js";
|
|
33
|
+
import "./chunk-HNMXYYJR.js";
|
|
34
|
+
import "./chunk-ELT65PZW.js";
|
|
35
|
+
import "./chunk-AL2V7U3E.js";
|
|
36
|
+
import "./chunk-4PWB7JRR.js";
|
|
37
|
+
import "./chunk-ZZ2MH7LE.js";
|
|
38
|
+
import "./chunk-DWLEOOGR.js";
|
|
39
|
+
import "./chunk-IDZTNRP2.js";
|
|
40
|
+
import {
|
|
41
|
+
readOption
|
|
42
|
+
} from "./chunk-A7GB5UGH.js";
|
|
43
|
+
import "./chunk-OLZBQWZU.js";
|
|
44
|
+
import "./chunk-LLWKHDG4.js";
|
|
45
|
+
import "./chunk-MKA6QE5E.js";
|
|
46
|
+
import "./chunk-KX6YBIHG.js";
|
|
47
|
+
import "./chunk-XRZJGPFI.js";
|
|
48
|
+
import "./chunk-6Y7A3OQQ.js";
|
|
49
|
+
import "./chunk-WWC7I6TA.js";
|
|
50
|
+
import "./chunk-SKDNBYZK.js";
|
|
51
|
+
import "./chunk-I42VC5KR.js";
|
|
52
|
+
import "./chunk-QSJ3HFEF.js";
|
|
53
|
+
import "./chunk-X4Q4UZEY.js";
|
|
54
|
+
import "./chunk-3ND52WIL.js";
|
|
55
|
+
import "./chunk-XMLRJUU5.js";
|
|
56
|
+
import "./chunk-R5V5G73M.js";
|
|
57
|
+
import "./chunk-GBRG75BQ.js";
|
|
58
|
+
import "./chunk-3EUW3WEO.js";
|
|
59
|
+
import "./chunk-U6VC4MU4.js";
|
|
60
|
+
import "./chunk-KUG52IAP.js";
|
|
61
|
+
import "./chunk-LCBAMY2M.js";
|
|
62
|
+
import "./chunk-4SN6J65J.js";
|
|
63
|
+
import "./chunk-CF7PE763.js";
|
|
64
|
+
import "./chunk-G3SUCT4W.js";
|
|
65
|
+
import "./chunk-4VNS5WPM.js";
|
|
66
|
+
|
|
67
|
+
// packages/cli/appListCommands.ts
|
|
68
|
+
function printAppListUsage() {
|
|
69
|
+
process.stdout.write(`Usage:
|
|
70
|
+
nolo app list [--scope owned|accessible] [--space-id <id>]
|
|
71
|
+
|
|
72
|
+
Options:
|
|
73
|
+
--scope <type> owned (default) or accessible
|
|
74
|
+
--space-id <id> List apps under a space
|
|
75
|
+
--json Print machine-readable JSON
|
|
76
|
+
--server <url> Server to query
|
|
77
|
+
--token <jwt> Auth token. Required for reads.
|
|
78
|
+
`);
|
|
79
|
+
}
|
|
80
|
+
async function runAppListCommand(args, deps) {
|
|
81
|
+
if (hasHelpArg(args)) {
|
|
82
|
+
printAppListUsage();
|
|
83
|
+
return 0;
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
const { serverUrl, authToken } = resolveCliContext(args, deps.env);
|
|
87
|
+
const body = pickDefined({
|
|
88
|
+
scope: readOption(args, "--scope"),
|
|
89
|
+
spaceId: readOption(args, "--space-id")
|
|
90
|
+
});
|
|
91
|
+
const data = await cliApiRequest({ serverUrl, authToken, path: "/api/app/list", body });
|
|
92
|
+
const workers = data.workers ?? [];
|
|
93
|
+
outputResult(data, hasFlag(args, "--json"), () => {
|
|
94
|
+
if (workers.length === 0) {
|
|
95
|
+
process.stdout.write("\u6CA1\u6709\u5E94\u7528\n");
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
process.stdout.write(`\u5E94\u7528\u5217\u8868 (${workers.length})
|
|
99
|
+
|
|
100
|
+
`);
|
|
101
|
+
for (const app of workers) {
|
|
102
|
+
process.stdout.write(` ${app.userFriendlyName ?? "(unnamed)"}
|
|
103
|
+
`);
|
|
104
|
+
const fields = [
|
|
105
|
+
["appId", app.appId],
|
|
106
|
+
["appKey", app.appKey],
|
|
107
|
+
["url", app.url],
|
|
108
|
+
["framework", app.framework],
|
|
109
|
+
["visibility", app.visibility]
|
|
110
|
+
];
|
|
111
|
+
if (app.customUrl) fields.push(["customUrl", app.customUrl]);
|
|
112
|
+
if (app.modifiedOn) fields.push(["modified", app.modifiedOn]);
|
|
113
|
+
process.stdout.write(formatFields(fields, " "));
|
|
114
|
+
process.stdout.write("\n\n");
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
return 0;
|
|
118
|
+
} catch (error) {
|
|
119
|
+
printCliError(error);
|
|
120
|
+
return 1;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
export {
|
|
124
|
+
runAppListCommand
|
|
125
|
+
};
|