nolo-cli 0.201.0-alpha.1 → 0.202.0-alpha.1

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.
Files changed (124) hide show
  1. package/{_executeModel-JGMNIGV2.js → _executeModel-IPRTPSW7.js} +34 -33
  2. package/{agentDeleteCommand-YUUEASG5.js → agentDeleteCommand-WHT2MMAP.js} +49 -47
  3. package/{agentEmailCommands-EO2WKZMM.js → agentEmailCommands-4LW2BFLY.js} +51 -49
  4. package/{agentListCommands-RQB27IJH.js → agentListCommands-2KF47HY6.js} +81 -45
  5. package/{agentMachineCommands-G3PU5ZEO.js → agentMachineCommands-QQCFQQ4T.js} +28 -26
  6. package/{agentProviderCommands-T6E3JCR6.js → agentProviderCommands-5ALOQLE5.js} +2 -2
  7. package/{agentRecordCommands-LY2HNY4R.js → agentRecordCommands-ARVXF2C2.js} +47 -45
  8. package/{agentRunCommand-6GS6JYDS.js → agentRunCommand-3IL5PW2S.js} +49 -47
  9. package/{agentRunControl-6HHESKDB.js → agentRunControl-ABDUPJLX.js} +10 -5
  10. package/{agentRuntimeLocal-75E4BYTF.js → agentRuntimeLocal-YXHJV65L.js} +24 -22
  11. package/{agentSlice-BCY3LBE4.js → agentSlice-BFDKYW6H.js} +4 -3
  12. package/{appDeleteCommands-PB6HW4NN.js → appDeleteCommands-OWJO3WFB.js} +29 -27
  13. package/{appDeployCommands-EF4OELAA.js → appDeployCommands-X7HLT27G.js} +29 -27
  14. package/{appDeployStatusCommands-CALVQWWC.js → appDeployStatusCommands-CHCZ7ZUD.js} +29 -27
  15. package/{appGetCommands-KFWCTFRM.js → appGetCommands-AZW2EE4R.js} +29 -27
  16. package/{appListCommands-Z5PW6DK7.js → appListCommands-YFN6DP6K.js} +29 -27
  17. package/{authCommand-RV5MQDWN.js → authCommand-W34UWJGR.js} +14 -13
  18. package/{builtinSkillRegistry-7RAJP7FD.js → builtinSkillRegistry-NJVHQIKY.js} +1 -1
  19. package/{chromeOpsCommands-BA6CS4DI.js → chromeOpsCommands-USKE4B4K.js} +15 -4
  20. package/{chunk-RE3B2OCC.js → chunk-266E37EL.js} +69 -14
  21. package/chunk-2BMURXSB.js +1863 -0
  22. package/{chunk-7MDGTSNI.js → chunk-2PI4QFAL.js} +174 -100
  23. package/{chunk-NABJEYPJ.js → chunk-2Q3LOAFE.js} +38 -3
  24. package/{chunk-OIVKFSFN.js → chunk-326HCB6L.js} +28 -24
  25. package/{chunk-4CEAZRZ4.js → chunk-33W4IFUU.js} +1 -1
  26. package/{chunk-V3MGT3RF.js → chunk-3CWF2EUZ.js} +8 -8
  27. package/{chunk-G6OOUQWJ.js → chunk-4KB6WQUL.js} +2 -0
  28. package/{chunk-DYQXB46J.js → chunk-4KPB3KWX.js} +2 -2
  29. package/{chunk-DGFSVNYE.js → chunk-4SH22ZG7.js} +5 -5
  30. package/{chunk-WAZ6BTSC.js → chunk-5E4FSR4J.js} +1 -1
  31. package/{chunk-PVD7CRYV.js → chunk-6I7ZP7KJ.js} +3 -3
  32. package/chunk-6UBGXX2W.js +12 -0
  33. package/{chunk-ZBCBFOWC.js → chunk-A2ZMIRLN.js} +2 -2
  34. package/{chunk-BQZNJCW3.js → chunk-ASG7VWPK.js} +3 -3
  35. package/{chunk-T2LB32MS.js → chunk-BLFZULEQ.js} +3 -3
  36. package/{chunk-JIFYXQRD.js → chunk-BTYQAODF.js} +26 -8
  37. package/{chunk-TDTTBXCO.js → chunk-C7PKPHK6.js} +334 -12
  38. package/{chunk-6WZQGT5X.js → chunk-CJ37ZMCQ.js} +6 -2
  39. package/{chunk-VHGD6FHV.js → chunk-CKAHAVMK.js} +40 -10
  40. package/{chunk-UNOILAZP.js → chunk-CLTGWJVT.js} +76 -4
  41. package/{chunk-Q6RMLYSA.js → chunk-CMLBKYEI.js} +4 -2
  42. package/{chunk-NVOYW6H4.js → chunk-CQHMBWZH.js} +12 -8
  43. package/{chunk-7KWPNGVJ.js → chunk-CTZ4O3XD.js} +1 -1
  44. package/{chunk-OHRDHS4N.js → chunk-CVCRAO6Q.js} +9 -4
  45. package/{chunk-7XSZNV4Q.js → chunk-D57YYGMD.js} +2 -2
  46. package/{chunk-TEC5UHQK.js → chunk-DHJXDGC3.js} +2 -2
  47. package/{chunk-QYOB7RVA.js → chunk-DKZJJ2NQ.js} +3 -2
  48. package/{chunk-A2LR6ORU.js → chunk-E2FC5RMU.js} +17 -14
  49. package/{chunk-R5HEP4LL.js → chunk-ETTDZBK5.js} +4 -4
  50. package/{chunk-LOVRT3E4.js → chunk-FWMOJTGR.js} +3722 -4851
  51. package/{chunk-ZWQUWF6W.js → chunk-G7Y4GXTY.js} +8 -14
  52. package/{chunk-5KTQVMCX.js → chunk-GOO6G4PY.js} +85 -0
  53. package/{chunk-FMOZ57LN.js → chunk-H7HWWNJB.js} +1 -1
  54. package/{chunk-QXM2ETU2.js → chunk-HJS5EIKS.js} +4 -4
  55. package/{chunk-EX7OZOYM.js → chunk-HKWGI3TM.js} +178 -311
  56. package/{chunk-BBGYSMUE.js → chunk-JH7KMNGT.js} +143 -19
  57. package/{chunk-BGYMAW6B.js → chunk-KDUYNEJ5.js} +43 -26
  58. package/{chunk-O5V7QQAF.js → chunk-LEX6DEH4.js} +114 -2
  59. package/{chunk-BTBT2566.js → chunk-MNUOMXJH.js} +412 -9
  60. package/{chunk-N7E3LQ4A.js → chunk-MZXWSY4E.js} +1 -1
  61. package/{chunk-ZQ3EAOY3.js → chunk-NTLJGRAT.js} +1 -1
  62. package/{chunk-WFUIXNKC.js → chunk-P4YLK2OD.js} +3 -3
  63. package/chunk-PRJ473FK.js +63 -0
  64. package/{chunk-2SHLT6JB.js → chunk-Q7GNBUT4.js} +2 -2
  65. package/{chunk-4AUOEYDB.js → chunk-RIKSN62L.js} +3 -3
  66. package/{chunk-GTP6VNWH.js → chunk-RQ22OZD7.js} +3 -3
  67. package/{chunk-XKX3NF6X.js → chunk-RS66RJLA.js} +2 -2
  68. package/{chunk-GC64WGMD.js → chunk-SM3NSZJV.js} +16 -5
  69. package/{chunk-DKLWAY3C.js → chunk-SSK4WNJA.js} +1 -1
  70. package/{chunk-LJODCHJO.js → chunk-SUBNV2JH.js} +3 -3
  71. package/{chunk-HLAL63BZ.js → chunk-T43B7LB2.js} +1 -1
  72. package/{chunk-HTLIKE5U.js → chunk-TWVVTUNG.js} +2 -2
  73. package/{chunk-X3RWBJDQ.js → chunk-U7HTU2S7.js} +1 -1
  74. package/{chunk-76YUTLOT.js → chunk-UIOEHFF6.js} +1 -1
  75. package/{chunk-IIX6VWLW.js → chunk-VCFU3BO5.js} +224 -38
  76. package/{chunk-QU3TLYBR.js → chunk-VEUSD6OF.js} +35 -11
  77. package/{chunk-4YMD7B4Y.js → chunk-WPOKOKZA.js} +2 -2
  78. package/{chunk-K6TZSON4.js → chunk-WTKYP6QO.js} +19 -5
  79. package/{chunk-2IVB6BQL.js → chunk-XW6B2RJW.js} +193 -56
  80. package/{chunk-ZSO5B6SW.js → chunk-Y2WUYX4I.js} +9 -0
  81. package/{chunk-7L7BVUKH.js → chunk-YAGFPXOX.js} +14 -14
  82. package/{chunk-TVGX5QIN.js → chunk-YUA6OAH5.js} +2 -2
  83. package/{chunk-IJBWBWP3.js → chunk-YV2RSLM4.js} +13 -13
  84. package/{chunk-MJWUBTK7.js → chunk-YZGNKHUM.js} +2 -2
  85. package/{commandRegistry-4DGK2ONJ.js → commandRegistry-HEBIO2A4.js} +87 -67
  86. package/{contentThunks-YYLEYO25.js → contentThunks-I4IHSDTM.js} +14 -13
  87. package/{cooldownCommands-KRILPXOZ.js → cooldownCommands-5SJ74DNP.js} +1 -1
  88. package/{createAgentAutomationAction-XKZ6TRRO.js → createAgentAutomationAction-WQCH5HR2.js} +14 -13
  89. package/{createDialogAction-6K5WSBCB.js → createDialogAction-CKMZK5JQ.js} +15 -14
  90. package/{createPageAction-FFFGCOUV.js → createPageAction-QAZHQGY7.js} +14 -13
  91. package/{dialogCommands-BFGCWWVT.js → dialogCommands-YMAHICPJ.js} +30 -28
  92. package/{dialogSlice-AA7672TX.js → dialogSlice-GEGACCH2.js} +13 -12
  93. package/{docCreateCommands-R3D5LUEG.js → docCreateCommands-SNMAKBXN.js} +28 -26
  94. package/{docDeleteCommands-7AGLMCJJ.js → docDeleteCommands-K52UESRC.js} +29 -27
  95. package/{docReadCommands-UVTD4FKH.js → docReadCommands-AG6LLHJ7.js} +28 -26
  96. package/{docStore-QDK5VGEH.js → docStore-B4EFT53J.js} +1 -1
  97. package/{docUpdateCommands-R2JHDAG4.js → docUpdateCommands-B5EZ7DYN.js} +28 -26
  98. package/{fetchMessages-HWBVATSE.js → fetchMessages-YY4SATNR.js} +1 -1
  99. package/{getPricing-E2PLNWCR.js → getPricing-3PQY3TGI.js} +3 -3
  100. package/{handleSendMessageAction-24WPHMZR.js → handleSendMessageAction-4BACQWOG.js} +70 -29
  101. package/index.js +7 -7
  102. package/{lib-4YTWAGY7.js → lib-5KKIBFIT.js} +439 -272
  103. package/{localDialogRead-CT5HGDMC.js → localDialogRead-FUXGZ57B.js} +1 -1
  104. package/{localRuntimeAdapter-4CC5KOMZ.js → localRuntimeAdapter-5CVSCXHI.js} +45 -43
  105. package/{machineCommands-FWTGWKAN.js → machineCommands-R7L4IBQL.js} +48 -46
  106. package/{machineWsRunDispatch-MJ5VOB7P.js → machineWsRunDispatch-KZHTW7DW.js} +46 -44
  107. package/{models-UUNO6DOL.js → models-PJBE6JDV.js} +2 -2
  108. package/{oauthTokenStore-PADKLNOC.js → oauthTokenStore-OEERZFUC.js} +2 -1
  109. package/package.json +1 -1
  110. package/{providerPresetApply-JGNMO2KX.js → providerPresetApply-HBBUUVJD.js} +6 -6
  111. package/{providerRegistry-33J3ZYFJ.js → providerRegistry-5LK2NXYE.js} +6 -6
  112. package/{readlineWorkspace-EQV6DNSG.js → readlineWorkspace-PDPEWRSG.js} +295 -137
  113. package/{runAgentClientLoop-W423XICK.js → runAgentClientLoop-QKV66PX5.js} +31 -30
  114. package/{runtimeDoctorCommands-NYBOTA6D.js → runtimeDoctorCommands-3VFVTGPI.js} +8 -7
  115. package/{secretCommands-N6CMCJDZ.js → secretCommands-MKU25CDP.js} +311 -3
  116. package/{settingThunks-YRYNPWJM.js → settingThunks-4WU7YE62.js} +2 -2
  117. package/{skillDiscovery-F3TMVQOJ.js → skillDiscovery-BKLWW2EZ.js} +2 -2
  118. package/{spaceCommands-J4OSJIYA.js → spaceCommands-VD3CZWXM.js} +27 -25
  119. package/{streamAgentChatTurn-BE3YIENW.js → streamAgentChatTurn-GM3UNSLS.js} +46 -43
  120. package/{tools-CXSCIKA4.js → tools-UJLEQBKI.js} +25 -24
  121. package/{tuiSummaryLlmCaller-FSOADMXK.js → tuiSummaryLlmCaller-73QO3HAD.js} +12 -12
  122. package/{updateCommands-KE6LP3QX.js → updateCommands-RVDAFHBT.js} +3 -3
  123. package/{updateDialogTitleAction-RCTYD5WV.js → updateDialogTitleAction-24QO27NT.js} +14 -13
  124. package/{windowsSelfUpdate-26TSFXEZ.js → windowsSelfUpdate-N2VH2OBW.js} +2 -2
@@ -2,46 +2,46 @@ import {
2
2
  fetchAgentContexts,
3
3
  responsesJsonToChatCompletions,
4
4
  updateAgentTokens
5
- } from "./chunk-LJODCHJO.js";
5
+ } from "./chunk-SUBNV2JH.js";
6
6
  import {
7
7
  generateRequestBody,
8
8
  performFetchRequest,
9
9
  sanitizeOutboundBody,
10
10
  stripModelToolArgs
11
- } from "./chunk-IJBWBWP3.js";
11
+ } from "./chunk-YV2RSLM4.js";
12
12
  import "./chunk-HS7MLR74.js";
13
13
  import {
14
14
  findToolExecutor
15
- } from "./chunk-EX7OZOYM.js";
15
+ } from "./chunk-HKWGI3TM.js";
16
16
  import "./chunk-KFHREHUQ.js";
17
- import "./chunk-BBGYSMUE.js";
17
+ import "./chunk-JH7KMNGT.js";
18
18
  import "./chunk-OXME3PEE.js";
19
19
  import "./chunk-KSTEXKL6.js";
20
- import "./chunk-VF4K2QE6.js";
21
20
  import "./chunk-Z3MQYKRN.js";
22
21
  import {
23
22
  mergeReferences
24
- } from "./chunk-4AUOEYDB.js";
23
+ } from "./chunk-RIKSN62L.js";
25
24
  import {
26
25
  getToolResultErrorData
27
- } from "./chunk-TDTTBXCO.js";
26
+ } from "./chunk-C7PKPHK6.js";
28
27
  import "./chunk-NF64D32W.js";
29
28
  import "./chunk-3L2WKC3W.js";
30
- import "./chunk-QYOB7RVA.js";
31
- import "./chunk-7XSZNV4Q.js";
29
+ import "./chunk-DKZJJ2NQ.js";
30
+ import "./chunk-VF4K2QE6.js";
31
+ import "./chunk-D57YYGMD.js";
32
32
  import "./chunk-MYOH447Z.js";
33
33
  import "./chunk-RXUKDHS5.js";
34
34
  import "./chunk-WYKMOZTW.js";
35
35
  import "./chunk-AGIM7IMJ.js";
36
36
  import "./chunk-63W5N6P3.js";
37
- import "./chunk-BQZNJCW3.js";
38
- import "./chunk-DKLWAY3C.js";
37
+ import "./chunk-ASG7VWPK.js";
38
+ import "./chunk-SSK4WNJA.js";
39
39
  import "./chunk-5XBUWM6I.js";
40
- import "./chunk-OIVKFSFN.js";
40
+ import "./chunk-326HCB6L.js";
41
41
  import "./chunk-TZXPT53C.js";
42
42
  import "./chunk-LEC5ALIN.js";
43
43
  import "./chunk-523DITKR.js";
44
- import "./chunk-R5HEP4LL.js";
44
+ import "./chunk-ETTDZBK5.js";
45
45
  import "./chunk-BYXBJQAS.js";
46
46
  import "./chunk-QYPE3TS3.js";
47
47
  import "./chunk-T3U2KQF4.js";
@@ -72,36 +72,36 @@ import "./chunk-OW765XBU.js";
72
72
  import {
73
73
  selectIdentityToken
74
74
  } from "./chunk-PXYBUFDB.js";
75
- import "./chunk-ZSO5B6SW.js";
75
+ import "./chunk-Y2WUYX4I.js";
76
76
  import "./chunk-D2MDMY2M.js";
77
- import "./chunk-O5V7QQAF.js";
77
+ import "./chunk-LEX6DEH4.js";
78
78
  import "./chunk-6OEPWZV7.js";
79
79
  import "./chunk-AETZ7AD6.js";
80
80
  import "./chunk-Y6ORVLSS.js";
81
81
  import "./chunk-KHCLMKZZ.js";
82
- import "./chunk-BGYMAW6B.js";
82
+ import "./chunk-KDUYNEJ5.js";
83
83
  import {
84
84
  convertMessagesToResponsesInput
85
- } from "./chunk-OHRDHS4N.js";
85
+ } from "./chunk-CVCRAO6Q.js";
86
86
  import "./chunk-E2BESSAW.js";
87
- import "./chunk-NABJEYPJ.js";
87
+ import "./chunk-2Q3LOAFE.js";
88
88
  import "./chunk-RXX262QX.js";
89
89
  import {
90
90
  resolveAgentCallPlan,
91
91
  resolveClientWire
92
- } from "./chunk-WFUIXNKC.js";
93
- import "./chunk-K6TZSON4.js";
92
+ } from "./chunk-P4YLK2OD.js";
93
+ import "./chunk-WTKYP6QO.js";
94
94
  import "./chunk-5ZUL4CUO.js";
95
- import "./chunk-JIFYXQRD.js";
95
+ import "./chunk-BTYQAODF.js";
96
96
  import "./chunk-H57T64RA.js";
97
97
  import "./chunk-UKZX3NHN.js";
98
98
  import "./chunk-5MMAK75Q.js";
99
99
  import "./chunk-TRZP7JZ7.js";
100
- import "./chunk-76YUTLOT.js";
100
+ import "./chunk-UIOEHFF6.js";
101
101
  import "./chunk-KX6YBIHG.js";
102
102
  import "./chunk-DWLEOOGR.js";
103
103
  import "./chunk-7DPNBQSV.js";
104
- import "./chunk-ZWQUWF6W.js";
104
+ import "./chunk-G7Y4GXTY.js";
105
105
  import "./chunk-4VJAC32I.js";
106
106
  import {
107
107
  canonicalizeToolName
@@ -111,16 +111,17 @@ import "./chunk-LOEO7LRC.js";
111
111
  import {
112
112
  extractCustomId
113
113
  } from "./chunk-M2EJHDJP.js";
114
- import "./chunk-QU3TLYBR.js";
115
- import "./chunk-HNMXYYJR.js";
114
+ import "./chunk-VEUSD6OF.js";
116
115
  import "./chunk-PJNFNEJE.js";
117
116
  import "./chunk-PSCNXBYA.js";
118
- import "./chunk-4YMD7B4Y.js";
119
- import "./chunk-TVGX5QIN.js";
117
+ import "./chunk-6UBGXX2W.js";
118
+ import "./chunk-WPOKOKZA.js";
119
+ import "./chunk-YUA6OAH5.js";
120
120
  import {
121
121
  getApiEndpoint
122
- } from "./chunk-GC64WGMD.js";
122
+ } from "./chunk-SM3NSZJV.js";
123
123
  import "./chunk-5BHQICF2.js";
124
+ import "./chunk-HNMXYYJR.js";
124
125
  import {
125
126
  isRecord
126
127
  } from "./chunk-KUG52IAP.js";
@@ -136,8 +137,8 @@ import "./chunk-3EUW3WEO.js";
136
137
  import {
137
138
  asOptionalTrimmedString
138
139
  } from "./chunk-G3SUCT4W.js";
139
- import "./chunk-HLAL63BZ.js";
140
- import "./chunk-5KTQVMCX.js";
140
+ import "./chunk-T43B7LB2.js";
141
+ import "./chunk-GOO6G4PY.js";
141
142
  import "./chunk-QSJ3HFEF.js";
142
143
  import "./chunk-4VNS5WPM.js";
143
144
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveAuthGuidanceState
3
- } from "./chunk-MJWUBTK7.js";
3
+ } from "./chunk-YZGNKHUM.js";
4
4
  import {
5
5
  createCliAuthorityBrokerClient,
6
6
  createCliAuthorityBrokerSocketInvoker
@@ -15,14 +15,15 @@ import "./chunk-GLKOYSRU.js";
15
15
  import {
16
16
  resolveAgentRuntimeDecision
17
17
  } from "./chunk-ZNFJWEN4.js";
18
- import "./chunk-ZWQUWF6W.js";
18
+ import "./chunk-G7Y4GXTY.js";
19
+ import "./chunk-6UBGXX2W.js";
20
+ import "./chunk-WPOKOKZA.js";
21
+ import "./chunk-YUA6OAH5.js";
22
+ import "./chunk-SM3NSZJV.js";
23
+ import "./chunk-5BHQICF2.js";
19
24
  import {
20
25
  toErrorMessage
21
26
  } from "./chunk-HNMXYYJR.js";
22
- import "./chunk-4YMD7B4Y.js";
23
- import "./chunk-TVGX5QIN.js";
24
- import "./chunk-GC64WGMD.js";
25
- import "./chunk-5BHQICF2.js";
26
27
  import "./chunk-KUG52IAP.js";
27
28
  import {
28
29
  resolveAuthToken,
@@ -34,7 +35,7 @@ import "./chunk-4SN6J65J.js";
34
35
  import "./chunk-CF7PE763.js";
35
36
  import "./chunk-3EUW3WEO.js";
36
37
  import "./chunk-G3SUCT4W.js";
37
- import "./chunk-5KTQVMCX.js";
38
+ import "./chunk-GOO6G4PY.js";
38
39
  import "./chunk-QSJ3HFEF.js";
39
40
  import "./chunk-4VNS5WPM.js";
40
41
 
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  createFileCredentialBroker
3
- } from "./chunk-76YUTLOT.js";
4
- import "./chunk-ZWQUWF6W.js";
3
+ } from "./chunk-UIOEHFF6.js";
4
+ import "./chunk-G7Y4GXTY.js";
5
+ import "./chunk-6UBGXX2W.js";
5
6
  import {
6
7
  t
7
- } from "./chunk-UNOILAZP.js";
8
+ } from "./chunk-CLTGWJVT.js";
8
9
  import "./chunk-3EUW3WEO.js";
9
10
  import "./chunk-4VNS5WPM.js";
10
11
 
@@ -435,6 +436,7 @@ function deleteSecretBinding(alias) {
435
436
 
436
437
  // packages/cli/secretCommands.ts
437
438
  import { spawn } from "child_process";
439
+ import { StringDecoder } from "string_decoder";
438
440
  function parseSecretValue(raw) {
439
441
  const trimmed = raw.trim();
440
442
  const looksLikeJson = trimmed.startsWith("{") || trimmed.startsWith("[");
@@ -450,6 +452,195 @@ function parseSecretValue(raw) {
450
452
  }
451
453
  return parsed;
452
454
  }
455
+ var PromptReadError = class extends Error {
456
+ constructor(i18nKey) {
457
+ super(i18nKey);
458
+ this.i18nKey = i18nKey;
459
+ }
460
+ };
461
+ async function defaultPromptReader(promptLabel, input = process.stdin, output = process.stderr) {
462
+ if (!Boolean(input?.isTTY) || typeof input?.setRawMode !== "function") {
463
+ throw new PromptReadError("secret.promptNonTtyNotSupported");
464
+ }
465
+ return new Promise((resolve2, reject) => {
466
+ let wasRaw = false;
467
+ try {
468
+ wasRaw = Boolean(input.isRaw);
469
+ } catch {
470
+ }
471
+ let settled = false;
472
+ const chars = [];
473
+ const decoder = new StringDecoder("utf8");
474
+ const restoreTerminal = () => {
475
+ try {
476
+ if (typeof input.setRawMode === "function") {
477
+ input.setRawMode(wasRaw);
478
+ }
479
+ } catch {
480
+ }
481
+ try {
482
+ if (typeof input.pause === "function") {
483
+ input.pause();
484
+ }
485
+ } catch {
486
+ }
487
+ input.removeListener?.("data", onData);
488
+ input.removeListener?.("error", onError);
489
+ input.removeListener?.("end", onEnd);
490
+ input.removeListener?.("close", onClose);
491
+ };
492
+ const finish = (err, value) => {
493
+ if (settled) return;
494
+ settled = true;
495
+ restoreTerminal();
496
+ try {
497
+ output.write("\n");
498
+ } catch {
499
+ }
500
+ if (err) {
501
+ reject(err);
502
+ } else {
503
+ resolve2(value ?? "");
504
+ }
505
+ };
506
+ const processChars = (str) => {
507
+ for (const char of str) {
508
+ if (char === "") {
509
+ finish(new PromptReadError("secret.promptAborted"));
510
+ return;
511
+ }
512
+ if (char === "") {
513
+ const val = chars.join("");
514
+ if (val.length === 0) {
515
+ finish(new PromptReadError("secret.promptAborted"));
516
+ } else {
517
+ finish(void 0, val);
518
+ }
519
+ return;
520
+ }
521
+ if (char === "\r" || char === "\n") {
522
+ finish(void 0, chars.join(""));
523
+ return;
524
+ }
525
+ if (char === "\b" || char === "\x7F") {
526
+ chars.pop();
527
+ continue;
528
+ }
529
+ if (char >= " " || char === " ") {
530
+ chars.push(char);
531
+ }
532
+ }
533
+ };
534
+ const onData = (chunk) => {
535
+ if (settled) return;
536
+ const str = typeof chunk === "string" ? chunk : decoder.write(chunk);
537
+ processChars(str);
538
+ };
539
+ const onError = (_err) => {
540
+ if (settled) return;
541
+ finish(new PromptReadError("secret.promptReadError"));
542
+ };
543
+ const onEnd = () => {
544
+ if (settled) return;
545
+ finish(new PromptReadError("secret.promptAborted"));
546
+ };
547
+ const onClose = () => {
548
+ if (settled) return;
549
+ finish(new PromptReadError("secret.promptAborted"));
550
+ };
551
+ try {
552
+ if (promptLabel) {
553
+ output.write(promptLabel);
554
+ }
555
+ input.setRawMode(true);
556
+ if (typeof input.resume === "function") {
557
+ input.resume();
558
+ }
559
+ input.on("data", onData);
560
+ input.on("error", onError);
561
+ input.on("end", onEnd);
562
+ input.on("close", onClose);
563
+ } catch {
564
+ finish(new PromptReadError("secret.promptReadError"));
565
+ }
566
+ });
567
+ }
568
+ var StdinReadError = class extends Error {
569
+ constructor(i18nKey) {
570
+ super(i18nKey);
571
+ this.i18nKey = i18nKey;
572
+ }
573
+ };
574
+ var DEFAULT_STDIN_TIMEOUT_MS = 1e4;
575
+ var DEFAULT_STDIN_MAX_BYTES = 64 * 1024;
576
+ async function readSecretFromStdinStream(stream, timeoutMs = DEFAULT_STDIN_TIMEOUT_MS, maxBytes = DEFAULT_STDIN_MAX_BYTES) {
577
+ if (Boolean(stream?.isTTY)) {
578
+ throw new StdinReadError("secret.stdinTtyNotSupported");
579
+ }
580
+ return new Promise((resolve2, reject) => {
581
+ let settled = false;
582
+ let totalBytes = 0;
583
+ const chunks = [];
584
+ const timer = setTimeout(() => {
585
+ finish(new StdinReadError("secret.stdinTimeout"));
586
+ }, timeoutMs);
587
+ timer.unref?.();
588
+ const onData = (chunk) => {
589
+ if (settled) return;
590
+ const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
591
+ totalBytes += buf.length;
592
+ if (totalBytes > maxBytes) {
593
+ finish(new StdinReadError("secret.stdinTooLarge"));
594
+ return;
595
+ }
596
+ chunks.push(buf);
597
+ };
598
+ const onEnd = () => {
599
+ if (settled) return;
600
+ clearTimeout(timer);
601
+ cleanup();
602
+ settled = true;
603
+ const raw = Buffer.concat(chunks).toString("utf8");
604
+ let value = raw;
605
+ if (value.endsWith("\r\n")) {
606
+ value = value.slice(0, -2);
607
+ } else if (value.endsWith("\n")) {
608
+ value = value.slice(0, -1);
609
+ }
610
+ if (value.length === 0 || /^\s*$/.test(value)) {
611
+ reject(new StdinReadError("secret.stdinEmpty"));
612
+ return;
613
+ }
614
+ resolve2(value);
615
+ };
616
+ const onError = () => {
617
+ if (settled) return;
618
+ finish(new StdinReadError("secret.stdinReadError"));
619
+ };
620
+ function finish(err) {
621
+ if (settled) return;
622
+ clearTimeout(timer);
623
+ cleanup();
624
+ settled = true;
625
+ try {
626
+ stream.destroy?.();
627
+ } catch {
628
+ }
629
+ reject(err);
630
+ }
631
+ function cleanup() {
632
+ stream.removeListener?.("data", onData);
633
+ stream.removeListener?.("end", onEnd);
634
+ stream.removeListener?.("error", onError);
635
+ }
636
+ stream.on("data", onData);
637
+ stream.on("end", onEnd);
638
+ stream.on("error", onError);
639
+ if (typeof stream.resume === "function") {
640
+ stream.resume();
641
+ }
642
+ });
643
+ }
453
644
  async function runSecretCommand(args, options = {}) {
454
645
  const [subcommand, ...rest] = args;
455
646
  if (!subcommand || subcommand === "--help" || subcommand === "-h") {
@@ -507,6 +698,121 @@ async function runSecretCommand(args, options = {}) {
507
698
  return;
508
699
  }
509
700
  case "set": {
701
+ const stdinFlags = rest.filter((arg) => arg === "--stdin");
702
+ const promptFlags = rest.filter((arg) => arg === "--prompt");
703
+ if (stdinFlags.length > 1) {
704
+ console.error(t("secret.stdinDuplicateFlag"));
705
+ process.exitCode = 1;
706
+ return;
707
+ }
708
+ if (promptFlags.length > 1) {
709
+ console.error(t("secret.promptDuplicateFlag"));
710
+ process.exitCode = 1;
711
+ return;
712
+ }
713
+ if (stdinFlags.length > 0 && promptFlags.length > 0) {
714
+ console.error(t("secret.cannotMixStdinAndPrompt"));
715
+ process.exitCode = 1;
716
+ return;
717
+ }
718
+ const isStdin = stdinFlags.length === 1;
719
+ const isPrompt = promptFlags.length === 1;
720
+ const nonFlagArgs = rest.filter((arg) => arg !== "--stdin" && arg !== "--prompt");
721
+ if (isStdin) {
722
+ if (nonFlagArgs.length === 0) {
723
+ console.error(t("secret.setNameRequired"));
724
+ process.exitCode = 1;
725
+ return;
726
+ }
727
+ if (nonFlagArgs.length > 1) {
728
+ console.error(t("secret.stdinMixedWithValue"));
729
+ process.exitCode = 1;
730
+ return;
731
+ }
732
+ const [name2] = nonFlagArgs;
733
+ let val;
734
+ try {
735
+ val = await readSecretFromStdinStream(
736
+ options.stdin ?? process.stdin,
737
+ options.stdinTimeoutMs ?? DEFAULT_STDIN_TIMEOUT_MS,
738
+ options.stdinMaxBytes ?? DEFAULT_STDIN_MAX_BYTES
739
+ );
740
+ } catch (err) {
741
+ if (err instanceof StdinReadError) {
742
+ console.error(t(err.i18nKey));
743
+ } else {
744
+ console.error(t("secret.stdinReadError"));
745
+ }
746
+ process.exitCode = 1;
747
+ return;
748
+ }
749
+ let parsedVal;
750
+ try {
751
+ parsedVal = parseSecretValue(val);
752
+ } catch (err) {
753
+ console.error(t("secret.errorPrefix", err.message));
754
+ process.exitCode = 1;
755
+ return;
756
+ }
757
+ setSecret(name2, parsedVal);
758
+ console.log(t("secret.setSuccess", name2));
759
+ return;
760
+ }
761
+ if (isPrompt) {
762
+ if (nonFlagArgs.length === 0) {
763
+ console.error(t("secret.promptNameRequired"));
764
+ process.exitCode = 1;
765
+ return;
766
+ }
767
+ if (nonFlagArgs.length > 1) {
768
+ console.error(t("secret.promptMixedWithValue"));
769
+ process.exitCode = 1;
770
+ return;
771
+ }
772
+ const [name2] = nonFlagArgs;
773
+ let rawInput;
774
+ try {
775
+ if (options.promptReader) {
776
+ rawInput = await options.promptReader(t("secret.promptLabel", name2));
777
+ } else {
778
+ rawInput = await defaultPromptReader(
779
+ t("secret.promptLabel", name2),
780
+ options.stdin ?? process.stdin,
781
+ options.stdout ?? process.stderr
782
+ );
783
+ }
784
+ } catch (err) {
785
+ if (err instanceof PromptReadError) {
786
+ console.error(t(err.i18nKey));
787
+ } else {
788
+ console.error(t("secret.promptReadError"));
789
+ }
790
+ process.exitCode = 1;
791
+ return;
792
+ }
793
+ let val = rawInput;
794
+ if (val.endsWith("\r\n")) {
795
+ val = val.slice(0, -2);
796
+ } else if (val.endsWith("\n")) {
797
+ val = val.slice(0, -1);
798
+ }
799
+ if (val.length === 0 || /^\s*$/.test(val)) {
800
+ console.error(t("secret.promptEmpty"));
801
+ process.exitCode = 1;
802
+ return;
803
+ }
804
+ let parsedVal;
805
+ try {
806
+ parsedVal = parseSecretValue(val);
807
+ } catch (err) {
808
+ console.error(t("secret.errorPrefix", err.message));
809
+ process.exitCode = 1;
810
+ return;
811
+ }
812
+ setSecret(name2, parsedVal);
813
+ console.log(t("secret.setSuccess", name2));
814
+ return;
815
+ }
510
816
  const [name, ...valParts] = rest;
511
817
  if (!name) {
512
818
  console.error(t("secret.setNameAndValueRequired"));
@@ -692,5 +998,7 @@ async function runSecretCommand(args, options = {}) {
692
998
  }
693
999
  }
694
1000
  export {
1001
+ PromptReadError,
1002
+ defaultPromptReader,
695
1003
  runSecretCommand
696
1004
  };
@@ -12,7 +12,7 @@ import {
12
12
  normalizeTonePresetSetting,
13
13
  omitKeys,
14
14
  resolveDefaultAgentIdSetting
15
- } from "./chunk-QYOB7RVA.js";
15
+ } from "./chunk-DKZJJ2NQ.js";
16
16
  import {
17
17
  require_react
18
18
  } from "./chunk-YDH3FDFQ.js";
@@ -44,7 +44,7 @@ import {
44
44
  selectIdentityUserId
45
45
  } from "./chunk-PXYBUFDB.js";
46
46
  import "./chunk-D2MDMY2M.js";
47
- import "./chunk-O5V7QQAF.js";
47
+ import "./chunk-LEX6DEH4.js";
48
48
  import {
49
49
  DEFAULT_SYSTEM_AGENT_CAPABILITIES
50
50
  } from "./chunk-6OEPWZV7.js";
@@ -9,9 +9,9 @@ import {
9
9
  listLocalWorkspaceSkillCatalogEntries,
10
10
  parseSkillFrontmatter,
11
11
  resolveSkillByName
12
- } from "./chunk-7KWPNGVJ.js";
12
+ } from "./chunk-CTZ4O3XD.js";
13
13
  import "./chunk-KHCLMKZZ.js";
14
- import "./chunk-Q6RMLYSA.js";
14
+ import "./chunk-CMLBKYEI.js";
15
15
  import "./chunk-4VJAC32I.js";
16
16
  import "./chunk-4VNS5WPM.js";
17
17
  export {
@@ -3,12 +3,12 @@ import {
3
3
  } from "./chunk-M3JEW6N6.js";
4
4
  import {
5
5
  readLiveDbRecordAfterTombstoneMerge
6
- } from "./chunk-FMOZ57LN.js";
6
+ } from "./chunk-H7HWWNJB.js";
7
7
  import {
8
8
  readDbRecord,
9
9
  writeAgentRecord
10
- } from "./chunk-6WZQGT5X.js";
11
- import "./chunk-X3RWBJDQ.js";
10
+ } from "./chunk-CJ37ZMCQ.js";
11
+ import "./chunk-U7HTU2S7.js";
12
12
  import "./chunk-NBTY7YJF.js";
13
13
  import "./chunk-OXME3PEE.js";
14
14
  import "./chunk-BYXBJQAS.js";
@@ -20,52 +20,54 @@ import {
20
20
  resolveFileCategory
21
21
  } from "./chunk-3PVYUPXK.js";
22
22
  import "./chunk-D2MDMY2M.js";
23
- import "./chunk-LOVRT3E4.js";
23
+ import "./chunk-FWMOJTGR.js";
24
24
  import "./chunk-ZNFJWEN4.js";
25
- import "./chunk-IIX6VWLW.js";
26
- import "./chunk-NVOYW6H4.js";
25
+ import "./chunk-VCFU3BO5.js";
26
+ import "./chunk-CQHMBWZH.js";
27
27
  import "./chunk-HNUWUO75.js";
28
28
  import "./chunk-CHOZJMJS.js";
29
29
  import "./chunk-PWTNI4N7.js";
30
30
  import "./chunk-HIVDQPQR.js";
31
- import "./chunk-N7E3LQ4A.js";
31
+ import "./chunk-MZXWSY4E.js";
32
32
  import "./chunk-2WZXXAQD.js";
33
- import "./chunk-PVD7CRYV.js";
34
- import "./chunk-G6OOUQWJ.js";
33
+ import "./chunk-6I7ZP7KJ.js";
34
+ import "./chunk-4KB6WQUL.js";
35
35
  import "./chunk-56GBUMO5.js";
36
- import "./chunk-BGYMAW6B.js";
37
- import "./chunk-OHRDHS4N.js";
36
+ import "./chunk-KDUYNEJ5.js";
37
+ import "./chunk-CVCRAO6Q.js";
38
38
  import "./chunk-E2BESSAW.js";
39
- import "./chunk-NABJEYPJ.js";
39
+ import "./chunk-2Q3LOAFE.js";
40
40
  import "./chunk-RXX262QX.js";
41
41
  import "./chunk-WJZOQR2J.js";
42
- import "./chunk-WFUIXNKC.js";
42
+ import "./chunk-P4YLK2OD.js";
43
43
  import "./chunk-2MBTWINN.js";
44
- import "./chunk-K6TZSON4.js";
44
+ import "./chunk-WTKYP6QO.js";
45
45
  import "./chunk-5ZUL4CUO.js";
46
- import "./chunk-JIFYXQRD.js";
46
+ import "./chunk-BTYQAODF.js";
47
47
  import "./chunk-H57T64RA.js";
48
48
  import "./chunk-UKZX3NHN.js";
49
49
  import "./chunk-5MMAK75Q.js";
50
50
  import "./chunk-TRZP7JZ7.js";
51
- import "./chunk-76YUTLOT.js";
51
+ import "./chunk-UIOEHFF6.js";
52
52
  import "./chunk-KX6YBIHG.js";
53
53
  import "./chunk-DWLEOOGR.js";
54
54
  import "./chunk-7DPNBQSV.js";
55
- import "./chunk-ZWQUWF6W.js";
56
- import "./chunk-Q6RMLYSA.js";
55
+ import "./chunk-G7Y4GXTY.js";
56
+ import "./chunk-CMLBKYEI.js";
57
57
  import "./chunk-4VJAC32I.js";
58
58
  import "./chunk-AKE53VMW.js";
59
59
  import "./chunk-ZC3CMUKU.js";
60
60
  import "./chunk-LOEO7LRC.js";
61
61
  import "./chunk-M2EJHDJP.js";
62
- import "./chunk-QU3TLYBR.js";
63
- import "./chunk-HNMXYYJR.js";
62
+ import "./chunk-VEUSD6OF.js";
63
+ import "./chunk-2BMURXSB.js";
64
64
  import "./chunk-PSCNXBYA.js";
65
- import "./chunk-4YMD7B4Y.js";
66
- import "./chunk-TVGX5QIN.js";
67
- import "./chunk-GC64WGMD.js";
65
+ import "./chunk-6UBGXX2W.js";
66
+ import "./chunk-WPOKOKZA.js";
67
+ import "./chunk-YUA6OAH5.js";
68
+ import "./chunk-SM3NSZJV.js";
68
69
  import "./chunk-5BHQICF2.js";
70
+ import "./chunk-HNMXYYJR.js";
69
71
  import "./chunk-KUG52IAP.js";
70
72
  import {
71
73
  parseUserIdFromAuthToken,
@@ -86,8 +88,8 @@ import "./chunk-U6VC4MU4.js";
86
88
  import "./chunk-WWC7I6TA.js";
87
89
  import "./chunk-3EUW3WEO.js";
88
90
  import "./chunk-G3SUCT4W.js";
89
- import "./chunk-HLAL63BZ.js";
90
- import "./chunk-5KTQVMCX.js";
91
+ import "./chunk-T43B7LB2.js";
92
+ import "./chunk-GOO6G4PY.js";
91
93
  import "./chunk-QSJ3HFEF.js";
92
94
  import "./chunk-4VNS5WPM.js";
93
95