nolo-cli 0.8.0-alpha.23 → 0.8.0-alpha.25

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 (114) hide show
  1. package/{_executeModel-YXTTYRXS.js → _executeModel-IYPAOWQQ.js} +48 -48
  2. package/{action-QM2ONPYZ.js → action-UAHWPMZB.js} +7 -8
  3. package/{addContentAction-UXY3GM53.js → addContentAction-PFIP76LT.js} +6 -8
  4. package/{addDialogAgentAction-MUBYOG65.js → addDialogAgentAction-LWDAIDEU.js} +8 -9
  5. package/{agentDeleteCommand-4NO7Y6UI.js → agentDeleteCommand-M6KIV6ZZ.js} +36 -27
  6. package/{agentEmailCommands-NPP5TGZV.js → agentEmailCommands-JGAZ26N2.js} +60 -59
  7. package/{agentListCommands-IP5BNB5W.js → agentListCommands-3TQWUC4W.js} +120 -28
  8. package/{agentMachineCommands-24NFTIKY.js → agentMachineCommands-EBCDKO4T.js} +36 -26
  9. package/{agentRecordCommands-7AWSR46F.js → agentRecordCommands-ZKOLGEMX.js} +53 -52
  10. package/{agentRunCommand-P46WCJ6P.js → agentRunCommand-L6A3DKTB.js} +56 -57
  11. package/{agentRuntimeLocal-V5UV7S4R.js → agentRuntimeLocal-6Q4CEFXY.js} +27 -14
  12. package/{agentSlice-3CVAZZOP.js → agentSlice-XRG5ODYW.js} +7 -8
  13. package/{authCommand-B6P2XYLN.js → authCommand-ELPMOABY.js} +13 -13
  14. package/{authCommands-4YKA4GTU.js → authCommands-PUQRVHHW.js} +5 -5
  15. package/{chunk-AFON4QUU.js → chunk-3QKO4EHV.js} +3 -3
  16. package/{chunk-D55DXHXL.js → chunk-4GBNEA5B.js} +1 -1
  17. package/{chunk-PXZAAB4L.js → chunk-4LG74DRG.js} +4 -4
  18. package/{chunk-RBCNBU2A.js → chunk-524BDL33.js} +1 -0
  19. package/{chunk-HAC6GPRE.js → chunk-5EUAXXSV.js} +2 -2
  20. package/{chunk-P7GAHW32.js → chunk-5LDYVJXY.js} +191 -40
  21. package/{chunk-DSNLHTP3.js → chunk-66DXKPRS.js} +9 -2
  22. package/{chunk-5NYGMN4O.js → chunk-67Z375LK.js} +17 -17
  23. package/{chunk-6OHYC4BY.js → chunk-6PXKSN2M.js} +4 -3
  24. package/{chunk-LFFATN2M.js → chunk-ALEDPZVP.js} +94 -54
  25. package/{chunk-ZAUDEKML.js → chunk-DW75SYWV.js} +95 -2327
  26. package/{chunk-A4MYG3TR.js → chunk-EEUWELOX.js} +15 -15
  27. package/chunk-GVQT3FIB.js +2286 -0
  28. package/chunk-I2HCZWJU.js +144 -0
  29. package/{chunk-LBUTKV7S.js → chunk-IG2EZS3N.js} +67 -20
  30. package/chunk-IKXL2HZ3.js +70 -0
  31. package/{chunk-2CVZSC5L.js → chunk-IVAOVLM7.js} +1 -1
  32. package/{chunk-L3KWEH3V.js → chunk-KPFGD3YA.js} +43 -12
  33. package/{chunk-4VA3UQRF.js → chunk-KRMH46UV.js} +10 -10
  34. package/{chunk-MIQOUMSN.js → chunk-LFETMU66.js} +8 -8
  35. package/{chunk-RBB43B5W.js → chunk-LWYCA4ZT.js} +307 -43
  36. package/{chunk-EUN3SYY7.js → chunk-MMCDCZM4.js} +6 -6
  37. package/{chunk-YOCHZD7D.js → chunk-NCGFB7NN.js} +5 -3
  38. package/{chunk-KLOCUWKZ.js → chunk-OCDEWRE2.js} +1 -1
  39. package/{chunk-LJCH34R2.js → chunk-OOOKLEJ7.js} +6 -6
  40. package/{chunk-C4FTUXVF.js → chunk-QLUFR47U.js} +11 -1
  41. package/{chunk-RYMUT5JO.js → chunk-RB43SIIG.js} +32 -26
  42. package/{chunk-RQPZX6KP.js → chunk-S37OTGU7.js} +2 -2
  43. package/{chunk-AOKWJZ5N.js → chunk-S3UTETIC.js} +3 -2
  44. package/{chunk-ZJS64PZJ.js → chunk-SCBYSC74.js} +1 -1
  45. package/{chunk-AWY2AFHN.js → chunk-TSKWE74T.js} +53 -7
  46. package/{chunk-UBSKX3LP.js → chunk-UZZCXRHF.js} +6 -6
  47. package/{chunk-Q2WC4KGQ.js → chunk-V6ICY2YU.js} +5 -5
  48. package/{chunk-6KRA6AWI.js → chunk-VNGCTQ32.js} +1 -1
  49. package/{chunk-BB2PII22.js → chunk-WKWEV6K4.js} +1 -1
  50. package/{chunk-LW6FJFCT.js → chunk-WO6IG6YT.js} +146 -50
  51. package/{chunk-JTINRTBT.js → chunk-WPHL6ALY.js} +1 -1
  52. package/{chunk-KTHLAJEY.js → chunk-WZF7M6GX.js} +1 -1
  53. package/{chunk-LTH6AVG7.js → chunk-XDXO65DS.js} +3 -3
  54. package/{chunk-BFDWXLFF.js → chunk-XGMCGPEA.js} +64 -5
  55. package/{chunk-WESWWEVA.js → chunk-XGOTQ6ZG.js} +1 -1
  56. package/{chunk-VBKJTOAW.js → chunk-XHQWJUW4.js} +2 -2
  57. package/{chunk-O7VS7JLJ.js → chunk-XIZIRGXB.js} +15 -15
  58. package/{chunk-PTT6KSYQ.js → chunk-Y7QCVJ73.js} +239 -90
  59. package/{chunk-6UUD2WES.js → chunk-ZR4VHQ5D.js} +14 -13
  60. package/{createAgentAutomationAction-DYQOGAVE.js → createAgentAutomationAction-HZJ4LPCW.js} +23 -25
  61. package/{createDialogAction-ETB3KQQE.js → createDialogAction-KICYAHEQ.js} +25 -27
  62. package/{createPageAction-UF2RHA63.js → createPageAction-VWBZOQPP.js} +25 -27
  63. package/{dbSlice-R5EJKZBW.js → dbSlice-V4H2JFNB.js} +5 -6
  64. package/{deleteFile-WPWVZE4B.js → deleteFile-M7UNIUOO.js} +3 -3
  65. package/{dialogCommands-LYYC7XHF.js → dialogCommands-UMT7AOOR.js} +31 -22
  66. package/{dialogSlice-IFBZ4IT2.js → dialogSlice-G3WPGLY5.js} +23 -25
  67. package/{docCreateCommands-I66OI374.js → docCreateCommands-MAZSFQQ5.js} +34 -25
  68. package/{docDeleteCommands-OVRBCHMF.js → docDeleteCommands-DOTLD7HA.js} +34 -26
  69. package/{docReadCommands-YLWUMEH7.js → docReadCommands-PH255AKZ.js} +34 -25
  70. package/{docStore-65WO7U36.js → docStore-K7U47JYV.js} +22 -24
  71. package/{docUpdateCommands-NSICS4IN.js → docUpdateCommands-RLRID2K7.js} +34 -25
  72. package/fetchMessages-KTNM7QAR.js +1 -1
  73. package/{getPricing-7PUT44ZS.js → getPricing-6TOZXPAU.js} +4 -4
  74. package/{handleSendMessageAction-T76HEDOP.js → handleSendMessageAction-UAI2ZOGG.js} +27 -29
  75. package/index.js +62 -62
  76. package/{localDialogRead-YSKFFRTT.js → localDialogRead-2VRI24F4.js} +1 -1
  77. package/{machineCommands-4HQY6UVZ.js → machineCommands-FE5HOJWR.js} +58 -57
  78. package/{machineWsRunDispatch-7YW2M4FS.js → machineWsRunDispatch-J56M67NJ.js} +52 -51
  79. package/{models-MFXNI3TF.js → models-LSCRJJ6P.js} +2 -2
  80. package/package.json +1 -1
  81. package/{read-5ZMY7FKP.js → read-2MIMRBZ2.js} +3 -3
  82. package/{readDocTool-2NXDK32S.js → readDocTool-QHVGQHUJ.js} +1 -1
  83. package/{readlineWorkspace-FLQWOAUR.js → readlineWorkspace-GK33VXX2.js} +196 -123
  84. package/{removeDialogAgentAction-KOLQ2R5W.js → removeDialogAgentAction-7GO2PRVQ.js} +12 -13
  85. package/{runAgentClientLoop-IUV2TR3X.js → runAgentClientLoop-EEC3BHWI.js} +45 -46
  86. package/{setDialogExtraReferencesAction-OMTEO7X6.js → setDialogExtraReferencesAction-ZIDAVJSZ.js} +8 -9
  87. package/{setPrimaryDialogAgentAction-DOCIS6V4.js → setPrimaryDialogAgentAction-LK35C2D7.js} +12 -13
  88. package/{settingSlice-UWZJYDOA.js → settingSlice-PRRC6IJ7.js} +6 -7
  89. package/{skillDiscovery-UGSQGX2U.js → skillDiscovery-ZYHSX7VD.js} +3 -3
  90. package/{spaceCommands-BDDAT4VU.js → spaceCommands-XE4PS24W.js} +36 -29
  91. package/{spaceSlice-HH633ZA4.js → spaceSlice-OE57MB22.js} +21 -23
  92. package/{streamAgentChatTurn-UBZOVFKV.js → streamAgentChatTurn-CI6VMD2Y.js} +208 -101
  93. package/{toolApiClient-C7P7YSE4.js → toolApiClient-QI3YBNWB.js} +2 -2
  94. package/{tools-OQZ34KCU.js → tools-I5VPDJHG.js} +32 -33
  95. package/{tuiSummaryLlmCaller-42AEL3LL.js → tuiSummaryLlmCaller-TXLF4MEI.js} +5 -5
  96. package/{updateDialogTitleAction-A3OOMSDO.js → updateDialogTitleAction-BKXHTAYL.js} +27 -28
  97. package/chunk-5MMAK75Q.js +0 -15
  98. package/chunk-AZPCASRE.js +0 -36
  99. package/chunk-RBCENBG7.js +0 -36
  100. package/chunk-UAD2WT54.js +0 -64
  101. package/{agentPullCommand-N6UWRTVL.js → agentPullCommand-LHFBA5EI.js} +6 -6
  102. package/{chunk-JK7VW2FN.js → chunk-5MIDPSSK.js} +3 -3
  103. package/{chunk-VC6OZXO5.js → chunk-6WWHKODG.js} +4 -4
  104. package/{chunk-BT37DVDA.js → chunk-7VKWMOSI.js} +9 -9
  105. package/{chunk-3QAF2LTL.js → chunk-DZ3XJVET.js} +3 -3
  106. package/{chunk-5CS33IBL.js → chunk-PDL2AV3E.js} +3 -3
  107. package/{chunk-5MMZUWSG.js → chunk-TOILAPLH.js} +5 -5
  108. package/{chunk-DVRHHFEA.js → chunk-TSUJOM6N.js} +3 -3
  109. package/{db-6QED3ZVO.js → db-HCJ5PRB5.js} +3 -3
  110. package/{memoryCommands-HG4WKTU7.js → memoryCommands-HGNEENIN.js} +3 -3
  111. package/{offlineMarxistsAgentCommand-BCPJITJL.js → offlineMarxistsAgentCommand-5OOWZLJI.js} +3 -3
  112. package/{runtimeDoctorCommands-UWR5UDSM.js → runtimeDoctorCommands-4YVMXBQP.js} +5 -5
  113. package/{tableCommands-M3DJUETS.js → tableCommands-LV2PPHNY.js} +6 -6
  114. package/{understanding-ZOESBLF3.js → understanding-3CUQQ6SV.js} +3 -3
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  listUserRecordsFromServers,
3
3
  readLiveDbRecordAfterTombstoneMerge
4
- } from "./chunk-BB2PII22.js";
4
+ } from "./chunk-WKWEV6K4.js";
5
5
  import {
6
6
  agentRecordHasConfiguredCredential
7
- } from "./chunk-EUN3SYY7.js";
7
+ } from "./chunk-MMCDCZM4.js";
8
8
 
9
9
  // packages/cli/agentListHelpers.ts
10
10
  function parseAgentRecordId(privateKey, explicitId) {
@@ -34,6 +34,11 @@ function normalizeListedAgent(record) {
34
34
  publicKey: keys.publicKey,
35
35
  name: typeof record?.name === "string" && record.name ? record.name : "(unnamed)",
36
36
  model: typeof record?.model === "string" && record.model ? record.model : "-",
37
+ ...typeof record?.handle === "string" && record.handle ? { handle: record.handle } : {},
38
+ ...typeof record?.introduction === "string" && record.introduction ? { introduction: record.introduction } : typeof record?.description === "string" && record.description ? { introduction: record.description } : {},
39
+ ...typeof record?.provider === "string" && record.provider ? { provider: record.provider } : {},
40
+ ...typeof record?.inputPrice === "number" && Number.isFinite(record.inputPrice) ? { inputPrice: record.inputPrice } : {},
41
+ ...typeof record?.outputPrice === "number" && Number.isFinite(record.outputPrice) ? { outputPrice: record.outputPrice } : {},
37
42
  updatedAt: typeof record?.updatedAt === "string" || typeof record?.updatedAt === "number" ? record.updatedAt : typeof record?.createdAt === "string" || typeof record?.createdAt === "number" ? record.createdAt : typeof record?.created === "string" || typeof record?.created === "number" ? record.created : null,
38
43
  isPublicFlag: !!record?.isPublic,
39
44
  publicRecordExists: false,
@@ -57,6 +62,7 @@ function sortListedAgents(agents) {
57
62
  function parseAgentListArgs(args) {
58
63
  return {
59
64
  wantJson: args.includes("--json"),
65
+ wantSafe: args.includes("--safe"),
60
66
  publicOnly: args.includes("--public-only"),
61
67
  idsOnly: args.includes("--ids-only")
62
68
  };
@@ -182,6 +188,7 @@ async function decorateAgentsWithPublicStatusAcrossServers(args) {
182
188
  }
183
189
 
184
190
  export {
191
+ normalizeListedAgent,
185
192
  parseAgentListArgs,
186
193
  listLocalCachedAgents,
187
194
  listRemoteAgents,
@@ -1,26 +1,23 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-P7GAHW32.js";
4
+ } from "./chunk-5LDYVJXY.js";
5
5
  import {
6
6
  clipMultilineText
7
- } from "./chunk-PTT6KSYQ.js";
8
- import {
9
- readPipeText,
10
- spawnProcess
11
- } from "./chunk-IDZTNRP2.js";
7
+ } from "./chunk-Y7QCVJ73.js";
12
8
  import {
13
9
  runLocalAgentTurn
14
- } from "./chunk-RBB43B5W.js";
10
+ } from "./chunk-LWYCA4ZT.js";
15
11
  import {
16
12
  resolveLocalRuntimeEnvFromPolicy
17
- } from "./chunk-5CS33IBL.js";
13
+ } from "./chunk-PDL2AV3E.js";
18
14
  import {
19
- asRecordOrEmpty
20
- } from "./chunk-KX6YBIHG.js";
15
+ toErrorMessage
16
+ } from "./chunk-HNMXYYJR.js";
21
17
  import {
22
- asTrimmedNonEmptyStringArray
23
- } from "./chunk-I42VC5KR.js";
18
+ readPipeText,
19
+ spawnProcess
20
+ } from "./chunk-IDZTNRP2.js";
24
21
  import {
25
22
  parseUserIdFromAuthToken
26
23
  } from "./chunk-AVMJVOQY.js";
@@ -28,17 +25,20 @@ import {
28
25
  DEFAULT_NOLO_SERVER_URL
29
26
  } from "./chunk-OLZBQWZU.js";
30
27
  import {
31
- toErrorMessage
32
- } from "./chunk-HNMXYYJR.js";
28
+ asRecordOrEmpty
29
+ } from "./chunk-KX6YBIHG.js";
30
+ import {
31
+ asTrimmedNonEmptyStringArray
32
+ } from "./chunk-I42VC5KR.js";
33
+ import {
34
+ isRecord
35
+ } from "./chunk-KUG52IAP.js";
33
36
  import {
34
37
  asTrimmedString
35
38
  } from "./chunk-3EUW3WEO.js";
36
39
  import {
37
40
  asOptionalPositiveFiniteNumber
38
41
  } from "./chunk-U6VC4MU4.js";
39
- import {
40
- isRecord
41
- } from "./chunk-KUG52IAP.js";
42
42
  import {
43
43
  asOptionalTrimmedString
44
44
  } from "./chunk-G3SUCT4W.js";
@@ -451,7 +451,7 @@ function buildNoloWorkspaceOpenAiTools(args) {
451
451
  description: "Confirmed dialog ids or dbKeys to delete."
452
452
  }
453
453
  }, ["query"]);
454
- add("listAgents", "List the current user's agents in the Nolo workspace.", {
454
+ add("listAgents", "List the current user's agents as safe summaries; use readAgent to resolve the runnable agentKey before delegation.", {
455
455
  space: stringToolParam("Optional space id or URL."),
456
456
  publicOnly: { type: "boolean", description: "Only show public agents." }
457
457
  // 端间差异(LOW-R2-3):CLI 命令 `nolo agent list` 无 --limit(parseAgentListArgs
@@ -773,6 +773,7 @@ function buildNoloWorkspaceCommandArgs(call) {
773
773
  const space = noloStringArg(args.space);
774
774
  if (space) cliArgs.push("--space", space);
775
775
  if (args.publicOnly === true) cliArgs.push("--public-only");
776
+ cliArgs.push("--json", "--safe");
776
777
  return cliArgs;
777
778
  }
778
779
  case "readAgent": {
@@ -888,7 +889,7 @@ function buildLoadSkillExecutor(args) {
888
889
  metadata: { loadSkill: true, resolved: false }
889
890
  };
890
891
  }
891
- const { resolveSkillByName } = await import("./skillDiscovery-UGSQGX2U.js");
892
+ const { resolveSkillByName } = await import("./skillDiscovery-ZYHSX7VD.js");
892
893
  const resolved = resolveSkillByName(args.cwd, name);
893
894
  if (!resolved) {
894
895
  return {
@@ -915,7 +916,7 @@ ${body}`,
915
916
  };
916
917
  }
917
918
  async function formatUnknownSkillMessage(cwd, requestedName) {
918
- const { discoverSkills } = await import("./skillDiscovery-UGSQGX2U.js");
919
+ const { discoverSkills } = await import("./skillDiscovery-ZYHSX7VD.js");
919
920
  let available = [];
920
921
  try {
921
922
  available = discoverSkills(cwd).map((s) => s.name);
@@ -9,12 +9,12 @@ import {
9
9
  resolveRawAgentInput,
10
10
  resolveServerUrl,
11
11
  writeUsage
12
- } from "./chunk-3QAF2LTL.js";
12
+ } from "./chunk-DZ3XJVET.js";
13
13
  import {
14
14
  createCliCallAgentToolExecutor,
15
15
  createCliLocalRuntimeAdapter,
16
16
  isBuiltinNoloAgentRef
17
- } from "./chunk-P7GAHW32.js";
17
+ } from "./chunk-5LDYVJXY.js";
18
18
  import {
19
19
  CliProviderQuotaError
20
20
  } from "./chunk-CMKUBIGW.js";
@@ -24,10 +24,10 @@ import {
24
24
  import {
25
25
  readDbRecord,
26
26
  resolveAgentRecordFromHybridStore
27
- } from "./chunk-EUN3SYY7.js";
27
+ } from "./chunk-MMCDCZM4.js";
28
28
  import {
29
29
  normalizeAgentHandle
30
- } from "./chunk-ZJS64PZJ.js";
30
+ } from "./chunk-SCBYSC74.js";
31
31
  import {
32
32
  NOLO_PROJECT_MANAGER_AGENT_KEY,
33
33
  isLocalCliAgentKey
@@ -42,86 +42,80 @@ import {
42
42
  import {
43
43
  buildMemorySubjectsForAgent,
44
44
  resolveAgentMemoryPolicy
45
- } from "./chunk-A4MYG3TR.js";
45
+ } from "./chunk-EEUWELOX.js";
46
46
  import {
47
47
  parseExternalSkillMarkdown,
48
48
  parseSkillDocProtocol
49
- } from "./chunk-VC6OZXO5.js";
49
+ } from "./chunk-6WWHKODG.js";
50
50
  import {
51
- DEFAULT_CONTEXT_WINDOW,
52
- getModelContextWindow,
51
+ API_REPORTED_COST_MULTIPLIER,
53
52
  parseUiAskChoiceContent
54
- } from "./chunk-ZAUDEKML.js";
55
- import {
56
- parsePositiveFiniteNumberOrFallback
57
- } from "./chunk-Y5GCAMGP.js";
58
- import {
59
- touchMemoryItemsInDb
60
- } from "./chunk-HNW7IJSK.js";
61
- import {
62
- chooseMemoryOwners,
63
- loadMemoryCandidatesFromDb
64
- } from "./chunk-XENYHRUE.js";
65
- import {
66
- readPipeText,
67
- spawnProcess
68
- } from "./chunk-IDZTNRP2.js";
69
- import {
70
- buildSkillDiscoveryContextBlock
71
- } from "./chunk-AFON4QUU.js";
72
- import {
73
- buildMemoryOverlayLayer,
74
- buildMemoryUseGuidanceLayer
75
- } from "./chunk-C4FTUXVF.js";
53
+ } from "./chunk-DW75SYWV.js";
76
54
  import {
77
55
  buildPlatformChatCompletionRequest,
78
56
  parsePlatformChatCompletionData
79
- } from "./chunk-6UUD2WES.js";
57
+ } from "./chunk-ZR4VHQ5D.js";
80
58
  import {
81
59
  resolveAgentRuntimeConfigFromRecord
82
- } from "./chunk-YOCHZD7D.js";
60
+ } from "./chunk-NCGFB7NN.js";
83
61
  import {
84
62
  LOCAL_AGENT_CONFIG_MISSING_CODE,
85
63
  LOCAL_TURN_ABORTED_CODE,
86
64
  readActionGate,
87
65
  readCommandActionGatePayload
88
- } from "./chunk-RBB43B5W.js";
66
+ } from "./chunk-LWYCA4ZT.js";
89
67
  import {
90
68
  resolvePlatformChatCompletionsEndpoint
91
- } from "./chunk-AWY2AFHN.js";
69
+ } from "./chunk-TSKWE74T.js";
92
70
  import {
93
- clipCompactText
94
- } from "./chunk-5MMAK75Q.js";
71
+ DEFAULT_CONTEXT_WINDOW,
72
+ clipCompactText,
73
+ getModelContextWindow
74
+ } from "./chunk-GVQT3FIB.js";
95
75
  import {
96
76
  findModelConfig
97
- } from "./chunk-AOKWJZ5N.js";
98
- import {
99
- asTrimmedLowercaseString
100
- } from "./chunk-QSJ3HFEF.js";
101
- import {
102
- compactWhitespace
103
- } from "./chunk-DWLEOOGR.js";
77
+ } from "./chunk-S3UTETIC.js";
104
78
  import {
105
79
  createRunActivityTracker,
106
80
  finalizeRunRecord,
107
81
  spawnLocalBackgroundRun
108
82
  } from "./chunk-AMJ7LA5D.js";
109
- import {
110
- resolveAuthToken
111
- } from "./chunk-AVMJVOQY.js";
112
83
  import {
113
84
  toErrorMessage
114
85
  } from "./chunk-HNMXYYJR.js";
115
86
  import {
116
87
  getDefaultCliLocalRuntimeDb
117
88
  } from "./chunk-H33743XH.js";
89
+ import {
90
+ touchMemoryItemsInDb
91
+ } from "./chunk-HNW7IJSK.js";
92
+ import {
93
+ chooseMemoryOwners,
94
+ loadMemoryCandidatesFromDb
95
+ } from "./chunk-XENYHRUE.js";
96
+ import {
97
+ compactWhitespace
98
+ } from "./chunk-DWLEOOGR.js";
99
+ import {
100
+ readPipeText,
101
+ spawnProcess
102
+ } from "./chunk-IDZTNRP2.js";
103
+ import {
104
+ resolveAuthToken
105
+ } from "./chunk-AVMJVOQY.js";
106
+ import {
107
+ parsePositiveFiniteNumberOrFallback
108
+ } from "./chunk-Y5GCAMGP.js";
109
+ import {
110
+ asTrimmedLowercaseString
111
+ } from "./chunk-QSJ3HFEF.js";
118
112
  import {
119
113
  BUILTIN_NOLO_AGENT_KEY,
120
114
  PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
121
115
  PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY,
122
116
  PUBLIC_GLM_52_AGENT_KEY,
123
117
  PUBLIC_KIMI_K26_IMAGE_AGENT_KEY
124
- } from "./chunk-VBKJTOAW.js";
118
+ } from "./chunk-XHQWJUW4.js";
125
119
  import {
126
120
  asTrimmedString
127
121
  } from "./chunk-3EUW3WEO.js";
@@ -131,6 +125,13 @@ import {
131
125
  import {
132
126
  asOptionalTrimmedString
133
127
  } from "./chunk-G3SUCT4W.js";
128
+ import {
129
+ buildSkillDiscoveryContextBlock
130
+ } from "./chunk-3QKO4EHV.js";
131
+ import {
132
+ buildMemoryOverlayLayer,
133
+ buildMemoryUseGuidanceLayer
134
+ } from "./chunk-QLUFR47U.js";
134
135
 
135
136
  // packages/agent-runtime/quickChatIntentCore.ts
136
137
  var INTENT_MODEL = "deepseek-v4-flash";
@@ -396,10 +397,13 @@ function buildTurnTokenUsage(usage, model) {
396
397
  if (!parsed) return void 0;
397
398
  const contextWindow = resolveContextWindow(model);
398
399
  const remaining = contextWindow && parsed.input > 0 ? Math.max(0, contextWindow - parsed.input) : void 0;
400
+ const rawCost = typeof usage?.cost === "number" ? usage.cost : void 0;
401
+ const credits = rawCost !== void 0 && rawCost > 0 ? rawCost * API_REPORTED_COST_MULTIPLIER : void 0;
399
402
  return {
400
403
  ...parsed,
401
404
  ...contextWindow ? { contextWindow } : {},
402
- ...remaining != null ? { remaining } : {}
405
+ ...remaining != null ? { remaining } : {},
406
+ ...credits !== void 0 ? { credits } : {}
403
407
  };
404
408
  }
405
409
  function formatTokenCount(value) {
@@ -728,9 +732,13 @@ var STRINGS = {
728
732
  en: "This command may delete or reset user content and needs explicit confirmation before it runs.",
729
733
  zh: "\u8BE5\u547D\u4EE4\u53EF\u80FD\u5220\u9664\u6216\u91CD\u7F6E\u7528\u6237\u5185\u5BB9\uFF0C\u9700\u8981\u7528\u6237\u660E\u786E\u786E\u8BA4\u540E\u624D\u80FD\u6267\u884C\u3002"
730
734
  },
731
- dialogConfirmCommandLabel: {
732
- en: "Command",
733
- zh: "\u547D\u4EE4"
735
+ dialogConfirmExternalFileTitle: {
736
+ en: "Confirm reading a file outside the workspace",
737
+ zh: "\u786E\u8BA4\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5916\u90E8\u6587\u4EF6"
738
+ },
739
+ dialogConfirmExternalFileBody: {
740
+ en: "This path is outside the current workspace. Allow this one-time access, or deny it.",
741
+ zh: "\u8BE5\u8DEF\u5F84\u4F4D\u4E8E\u5F53\u524D\u5DE5\u4F5C\u533A\u4E4B\u5916\u3002\u786E\u8BA4\u540E\u672C\u6B21\u8BBF\u95EE\u653E\u884C\uFF0C\u5426\u5219\u62D2\u7EDD\u3002"
734
742
  },
735
743
  dialogConfirmCommandTruncated: {
736
744
  en: "(truncated)",
@@ -1047,7 +1055,37 @@ Use /switch, /switch list, /switch minimax-m3, or a full agent key.`,
1047
1055
  // Overflow hints shared by select / multi-select / ask-choice. The arrows
1048
1056
  // and count are part of the copy so each locale can order them naturally.
1049
1057
  dialogMoreAbove: { en: "\u2191 {0} more", zh: "\u2191 {0} \u66F4\u591A" },
1050
- dialogMoreBelow: { en: "\u2193 {0} more", zh: "\u2193 {0} \u66F4\u591A" }
1058
+ dialogMoreBelow: { en: "\u2193 {0} more", zh: "\u2193 {0} \u66F4\u591A" },
1059
+ // Action gate handoff
1060
+ actionGateNeeded: {
1061
+ en: "Action needed in your terminal",
1062
+ zh: "\u7EC8\u7AEF\u9700\u8981\u4F60\u7684\u64CD\u4F5C"
1063
+ },
1064
+ actionGateEnterHint: {
1065
+ en: "Press Enter to run it now. Follow any prompts below, or Ctrl+C to cancel.",
1066
+ zh: "\u6309 Enter \u7ACB\u5373\u6267\u884C\uFF0C\u6309\u4E0B\u65B9\u63D0\u793A\u64CD\u4F5C\uFF0C\u6216\u6309 Ctrl+C \u53D6\u6D88\u3002"
1067
+ },
1068
+ actionGateInteractiveTitle: {
1069
+ en: "This command requires an interactive terminal.",
1070
+ zh: "\u8BE5\u547D\u4EE4\u9700\u8981\u4EA4\u4E92\u5F0F\u7EC8\u7AEF"
1071
+ },
1072
+ actionGateInteractiveBody: {
1073
+ en: "Complete it in the terminal, then nolo will continue.",
1074
+ zh: "\u5728\u7EC8\u7AEF\u4E2D\u5B8C\u6210\u64CD\u4F5C\u540E\uFF0Cnolo \u5C06\u7EE7\u7EED\u3002"
1075
+ },
1076
+ // Agent catalog sources
1077
+ agentSourcePlatform: {
1078
+ en: "Platform",
1079
+ zh: "\u5E73\u53F0"
1080
+ },
1081
+ agentSourceSubscription: {
1082
+ en: "Subscription",
1083
+ zh: "\u8BA2\u9605"
1084
+ },
1085
+ agentSourceApi: {
1086
+ en: "API",
1087
+ zh: "API"
1088
+ }
1051
1089
  };
1052
1090
  function t(key, ...params) {
1053
1091
  const text = STRINGS[key][currentLocale];
@@ -3970,7 +4008,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
3970
4008
  // packages/cli/client/agentRun.ts
3971
4009
  import { ulid } from "ulid";
3972
4010
  async function loadRunLocalAgentTurn() {
3973
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-V5UV7S4R.js");
4011
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-6Q4CEFXY.js");
3974
4012
  return runLocalAgentTurn;
3975
4013
  }
3976
4014
  async function resolveCurrentMachineId(options) {
@@ -4407,7 +4445,7 @@ async function runLocalAgentTurnForCli(options, settings) {
4407
4445
  } : void 0;
4408
4446
  const currentDialogId = options.continueDialogId ?? ulid();
4409
4447
  const runChildTurn = async (input) => {
4410
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-V5UV7S4R.js");
4448
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-6Q4CEFXY.js");
4411
4449
  return runLocalAgentTurn(input);
4412
4450
  };
4413
4451
  const createFreshChildBaseAdapter = () => {
@@ -5715,8 +5753,10 @@ function isBalanceExhaustedError(error) {
5715
5753
  }
5716
5754
 
5717
5755
  export {
5756
+ CLI_AUTO_TIER_AGENT_KEYS,
5718
5757
  CLI_IMAGE_AGENT_KEY,
5719
5758
  CLI_AUTO_TIER_AGENT_KEY_TABLE,
5759
+ resolveCliAutoFallbackTier,
5720
5760
  classifyCliAutoRoute,
5721
5761
  resolveAgentContextWindow,
5722
5762
  formatTokenCount,