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

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 (66) hide show
  1. package/{_executeModel-YXTTYRXS.js → _executeModel-2ZAPHFOX.js} +19 -17
  2. package/{agentDeleteCommand-4NO7Y6UI.js → agentDeleteCommand-5TFSII4Z.js} +11 -11
  3. package/{agentEmailCommands-NPP5TGZV.js → agentEmailCommands-XMXWGUMZ.js} +22 -20
  4. package/{agentListCommands-IP5BNB5W.js → agentListCommands-OWEFQEY4.js} +99 -15
  5. package/{agentMachineCommands-24NFTIKY.js → agentMachineCommands-DGHYBBFC.js} +11 -11
  6. package/{agentRecordCommands-7AWSR46F.js → agentRecordCommands-I433EE5F.js} +22 -20
  7. package/{agentRunCommand-P46WCJ6P.js → agentRunCommand-UQSX3IGW.js} +22 -20
  8. package/{agentRuntimeLocal-V5UV7S4R.js → agentRuntimeLocal-73SVOC5U.js} +8 -8
  9. package/{agentSlice-3CVAZZOP.js → agentSlice-JQCS4LR3.js} +1 -1
  10. package/{chunk-AWY2AFHN.js → chunk-3HPUUWOR.js} +50 -4
  11. package/{chunk-6UUD2WES.js → chunk-3KGTFX3T.js} +2 -13
  12. package/{chunk-RBCNBU2A.js → chunk-524BDL33.js} +1 -0
  13. package/chunk-6QFNUK2G.js +144 -0
  14. package/{chunk-RBB43B5W.js → chunk-AISLHYDB.js} +3 -3
  15. package/{chunk-BB2PII22.js → chunk-BKGNXJAM.js} +1 -1
  16. package/{chunk-P7GAHW32.js → chunk-BQECZ3Q4.js} +9 -9
  17. package/{chunk-A4MYG3TR.js → chunk-BT57QC5K.js} +2 -2
  18. package/{chunk-LBUTKV7S.js → chunk-C4DZRHFJ.js} +7 -7
  19. package/{chunk-Q2WC4KGQ.js → chunk-DS3VC4EA.js} +2 -2
  20. package/{chunk-ZJS64PZJ.js → chunk-FVVST32H.js} +1 -1
  21. package/{chunk-6OHYC4BY.js → chunk-FZ2G3I4B.js} +2 -1
  22. package/{chunk-6KRA6AWI.js → chunk-G7KM6BBZ.js} +1 -1
  23. package/{chunk-ZAUDEKML.js → chunk-GROGNZOA.js} +21 -12
  24. package/{chunk-RBCENBG7.js → chunk-IOQIOZNI.js} +8 -2
  25. package/{chunk-PTT6KSYQ.js → chunk-IPA2WQGY.js} +83 -30
  26. package/{chunk-DSNLHTP3.js → chunk-IYMGQ3TN.js} +9 -2
  27. package/{chunk-WESWWEVA.js → chunk-L76QNLGU.js} +1 -1
  28. package/{chunk-LJCH34R2.js → chunk-LE6JAIXE.js} +2 -2
  29. package/{chunk-5NYGMN4O.js → chunk-LRKEOCWY.js} +3 -3
  30. package/{chunk-KLOCUWKZ.js → chunk-OCDEWRE2.js} +1 -1
  31. package/{chunk-RYMUT5JO.js → chunk-P2SPC3FT.js} +12 -8
  32. package/{chunk-4VA3UQRF.js → chunk-Q7S2ORXX.js} +3 -3
  33. package/{chunk-D55DXHXL.js → chunk-QWM7YWVT.js} +1 -1
  34. package/{chunk-AOKWJZ5N.js → chunk-S3UTETIC.js} +3 -2
  35. package/{chunk-EUN3SYY7.js → chunk-SBVUZC2E.js} +1 -1
  36. package/{chunk-O7VS7JLJ.js → chunk-VUEXKW6U.js} +1 -1
  37. package/{chunk-MIQOUMSN.js → chunk-WKQGZJVI.js} +1 -1
  38. package/{chunk-LFFATN2M.js → chunk-WM7P5OWZ.js} +18 -12
  39. package/{chunk-LW6FJFCT.js → chunk-WTBWWBSF.js} +122 -28
  40. package/{chunk-HAC6GPRE.js → chunk-WVS3GX3B.js} +2 -2
  41. package/chunk-Z3NEXVYE.js +33 -0
  42. package/{createAgentAutomationAction-DYQOGAVE.js → createAgentAutomationAction-GXZNLJZK.js} +6 -5
  43. package/{createDialogAction-ETB3KQQE.js → createDialogAction-KLW42ZGF.js} +7 -6
  44. package/{createPageAction-UF2RHA63.js → createPageAction-IBJHE6MH.js} +6 -5
  45. package/{dialogCommands-LYYC7XHF.js → dialogCommands-7O5PUZRU.js} +12 -12
  46. package/{dialogSlice-IFBZ4IT2.js → dialogSlice-GGV7PF53.js} +6 -5
  47. package/{docCreateCommands-I66OI374.js → docCreateCommands-7ZO2NQQF.js} +11 -11
  48. package/{docDeleteCommands-OVRBCHMF.js → docDeleteCommands-YKIXZYBR.js} +12 -12
  49. package/{docReadCommands-YLWUMEH7.js → docReadCommands-5UDONBUL.js} +11 -11
  50. package/{docStore-65WO7U36.js → docStore-VDWTATFH.js} +7 -6
  51. package/{docUpdateCommands-NSICS4IN.js → docUpdateCommands-EPZIIQMY.js} +11 -11
  52. package/{getPricing-7PUT44ZS.js → getPricing-6TOZXPAU.js} +3 -3
  53. package/{handleSendMessageAction-T76HEDOP.js → handleSendMessageAction-MMATC5V5.js} +6 -5
  54. package/index.js +36 -36
  55. package/{machineCommands-4HQY6UVZ.js → machineCommands-PTHPKSIZ.js} +21 -19
  56. package/{machineWsRunDispatch-7YW2M4FS.js → machineWsRunDispatch-M5L2NVWJ.js} +21 -19
  57. package/{models-MFXNI3TF.js → models-H524GH3U.js} +3 -2
  58. package/package.json +1 -1
  59. package/{readlineWorkspace-FLQWOAUR.js → readlineWorkspace-4NXMEOHP.js} +106 -48
  60. package/{runAgentClientLoop-IUV2TR3X.js → runAgentClientLoop-FGUYNGSA.js} +16 -14
  61. package/{spaceCommands-BDDAT4VU.js → spaceCommands-S3EB6TOS.js} +11 -11
  62. package/{spaceSlice-HH633ZA4.js → spaceSlice-RG2GSV7K.js} +6 -5
  63. package/{streamAgentChatTurn-UBZOVFKV.js → streamAgentChatTurn-X576C23M.js} +131 -31
  64. package/{tools-OQZ34KCU.js → tools-HURZ2N4O.js} +11 -9
  65. package/{tuiSummaryLlmCaller-42AEL3LL.js → tuiSummaryLlmCaller-DG2LBTBX.js} +4 -4
  66. package/{updateDialogTitleAction-A3OOMSDO.js → updateDialogTitleAction-62LVIAUZ.js} +6 -5
@@ -18,7 +18,7 @@ import {
18
18
  resolveOpenAiCompatibleProviderConfig,
19
19
  shouldCacheHybridRemoteRecord,
20
20
  shouldFetchAgentRuntimeRecordRemotely
21
- } from "./chunk-LBUTKV7S.js";
21
+ } from "./chunk-C4DZRHFJ.js";
22
22
  import {
23
23
  buildPlatformChatCompletionRequest,
24
24
  canUsePlatformChatProvider,
@@ -27,24 +27,24 @@ import {
27
27
  parsePlatformChatCompletionResponse,
28
28
  resolvePlatformChatProviderConfig,
29
29
  shouldUsePlatformChatProvider
30
- } from "./chunk-6UUD2WES.js";
30
+ } from "./chunk-3KGTFX3T.js";
31
31
  import "./chunk-ZNFJWEN4.js";
32
32
  import {
33
33
  resolveAgentRuntimeConfigFromRecord
34
34
  } from "./chunk-YOCHZD7D.js";
35
35
  import {
36
36
  runLocalAgentTurn
37
- } from "./chunk-RBB43B5W.js";
37
+ } from "./chunk-AISLHYDB.js";
38
38
  import "./chunk-OPZYGHUC.js";
39
- import "./chunk-6KRA6AWI.js";
39
+ import "./chunk-G7KM6BBZ.js";
40
40
  import {
41
41
  pickAgentRuntimeInferenceOptions
42
- } from "./chunk-AWY2AFHN.js";
42
+ } from "./chunk-3HPUUWOR.js";
43
43
  import {
44
44
  resolveRuntimeToolSurfaceForAgent
45
- } from "./chunk-6OHYC4BY.js";
45
+ } from "./chunk-FZ2G3I4B.js";
46
46
  import "./chunk-5MMAK75Q.js";
47
- import "./chunk-AOKWJZ5N.js";
47
+ import "./chunk-S3UTETIC.js";
48
48
  import {
49
49
  resolveCurrentRunRuntimeToolPolicy,
50
50
  resolveLocalRuntimeEnvFromPolicy,
@@ -54,7 +54,7 @@ import {
54
54
  import "./chunk-JZPBVBIY.js";
55
55
  import "./chunk-BYXBJQAS.js";
56
56
  import "./chunk-KX6YBIHG.js";
57
- import "./chunk-RBCNBU2A.js";
57
+ import "./chunk-524BDL33.js";
58
58
  import "./chunk-O4BU24WZ.js";
59
59
  import "./chunk-I42VC5KR.js";
60
60
  import "./chunk-WWC7I6TA.js";
@@ -7,7 +7,7 @@ import {
7
7
  slice,
8
8
  streamAgentChatTurn,
9
9
  updateAgent
10
- } from "./chunk-4VA3UQRF.js";
10
+ } from "./chunk-Q7S2ORXX.js";
11
11
  import "./chunk-L3KWEH3V.js";
12
12
  import "./chunk-AZPCASRE.js";
13
13
  import "./chunk-JTINRTBT.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getModelConfig
3
- } from "./chunk-AOKWJZ5N.js";
3
+ } from "./chunk-S3UTETIC.js";
4
4
  import {
5
5
  asTrimmedLowercaseString
6
6
  } from "./chunk-QSJ3HFEF.js";
@@ -29,8 +29,35 @@ function pickAgentRuntimeInferenceOptions(agentConfig) {
29
29
  };
30
30
  }
31
31
 
32
+ // packages/agent-runtime/openAiCompatibleMessages.ts
33
+ function preserveAgentStateFields(source, target) {
34
+ const mutableTarget = target;
35
+ if (source.role === "assistant") {
36
+ if (typeof source.reasoning_content === "string") {
37
+ mutableTarget.reasoning_content = source.reasoning_content;
38
+ }
39
+ if (Array.isArray(source.tool_calls)) {
40
+ mutableTarget.tool_calls = source.tool_calls;
41
+ }
42
+ }
43
+ if (source.role === "tool") {
44
+ const toolCallId = typeof source.tool_call_id === "string" ? source.tool_call_id.trim() : typeof source.toolCallId === "string" ? source.toolCallId.trim() : "";
45
+ if (toolCallId) mutableTarget.tool_call_id = toolCallId;
46
+ }
47
+ return target;
48
+ }
49
+ function toOpenAiCompatibleMessages(messages) {
50
+ return messages.map(
51
+ (message) => preserveAgentStateFields(message, {
52
+ role: message.role,
53
+ content: message.content ?? ""
54
+ })
55
+ );
56
+ }
57
+
32
58
  // packages/agent-runtime/platformProviderEndpoints.ts
33
59
  var OPENAI_RESPONSES_ENDPOINT = "https://api.openai.com/v1/responses";
60
+ var DEEPSEEK_RESPONSES_ENDPOINT = "https://api.deepseek.com/v1/responses";
34
61
  var PLATFORM_CHAT_COMPLETIONS_ENDPOINTS = {
35
62
  deepinfra: "https://api.deepinfra.com/v1/openai/chat/completions",
36
63
  deepseek: "https://api.deepseek.com/chat/completions",
@@ -47,7 +74,11 @@ var PLATFORM_CHAT_COMPLETIONS_ENDPOINTS = {
47
74
  nolo: "https://ollama.com/v1/chat/completions"
48
75
  };
49
76
  function isOpenAiResponsesModel(args) {
50
- if (asTrimmedLowercaseString(args.provider) !== "openai") return false;
77
+ const provider = asTrimmedLowercaseString(args.provider);
78
+ if (provider === "deepseek") {
79
+ return asTrimmedLowercaseString(args.model) === "deepseek-v4-flash";
80
+ }
81
+ if (provider !== "openai") return false;
51
82
  if (args.endpointKey === "responses") return true;
52
83
  if (!args.model) return false;
53
84
  try {
@@ -56,6 +87,16 @@ function isOpenAiResponsesModel(args) {
56
87
  return false;
57
88
  }
58
89
  }
90
+ function resolvePlatformResponsesEndpoint(provider) {
91
+ switch (asTrimmedLowercaseString(provider)) {
92
+ case "openai":
93
+ return OPENAI_RESPONSES_ENDPOINT;
94
+ case "deepseek":
95
+ return DEEPSEEK_RESPONSES_ENDPOINT;
96
+ default:
97
+ return void 0;
98
+ }
99
+ }
59
100
  var PLATFORM_PROVIDER_ENDPOINT_ALIASES = {
60
101
  "ollama-cloud": "nolo"
61
102
  };
@@ -81,7 +122,7 @@ function resolvePlatformProviderEndpoint(agentConfig) {
81
122
  model: agentConfig.model,
82
123
  endpointKey: agentConfig.endpointKey
83
124
  })) {
84
- return OPENAI_RESPONSES_ENDPOINT;
125
+ return resolvePlatformResponsesEndpoint(provider) ?? "";
85
126
  }
86
127
  const endpoint = resolvePlatformChatCompletionsEndpoint(provider);
87
128
  if (!endpoint) {
@@ -411,6 +452,9 @@ var convertMessagesToResponsesInput = (messages) => {
411
452
  continue;
412
453
  }
413
454
  const role = message.role;
455
+ if (role === "assistant" && typeof message.reasoning_content === "string" && message.reasoning_content) {
456
+ input.push({ type: "reasoning", content: message.reasoning_content });
457
+ }
414
458
  const contentParts = normalizeMessageParts(message.content, role);
415
459
  if (contentParts.length > 0) {
416
460
  input.push({
@@ -521,8 +565,10 @@ var extractToolCallsFromResponseOutput = (response) => {
521
565
 
522
566
  export {
523
567
  pickAgentRuntimeInferenceOptions,
524
- OPENAI_RESPONSES_ENDPOINT,
568
+ preserveAgentStateFields,
569
+ toOpenAiCompatibleMessages,
525
570
  isOpenAiResponsesModel,
571
+ resolvePlatformResponsesEndpoint,
526
572
  resolvePlatformChatCompletionsEndpoint,
527
573
  trimTrailingSlash,
528
574
  resolvePlatformServerUrl,
@@ -14,19 +14,9 @@ import {
14
14
  resolvePlatformAuthToken,
15
15
  resolvePlatformServerUrl,
16
16
  resolveProviderTransportDecision,
17
+ toOpenAiCompatibleMessages,
17
18
  toResponsesTools
18
- } from "./chunk-AWY2AFHN.js";
19
-
20
- // packages/agent-runtime/openAiCompatibleMessages.ts
21
- function toOpenAiCompatibleMessages(messages) {
22
- return messages.map((message) => ({
23
- role: message.role,
24
- content: message.content ?? "",
25
- ...message.tool_call_id ? { tool_call_id: message.tool_call_id } : {},
26
- ...Array.isArray(message.tool_calls) ? { tool_calls: message.tool_calls } : {},
27
- ...message.reasoning_content ? { reasoning_content: message.reasoning_content } : {}
28
- }));
29
- }
19
+ } from "./chunk-3HPUUWOR.js";
30
20
 
31
21
  // packages/agent-runtime/toolCallAccumulator.ts
32
22
  function accumulateToolCallDelta(accumulated, deltas) {
@@ -373,7 +363,6 @@ export {
373
363
  throwIfChatCompletionStreamFailed,
374
364
  applyChatCompletionDelta,
375
365
  flushChatCompletionStream,
376
- toOpenAiCompatibleMessages,
377
366
  readSseFrames,
378
367
  readSseDataValues,
379
368
  resolvePlatformChatProviderConfig,
@@ -14,6 +14,7 @@ var deepSeekModels = [
14
14
  fnCall: true,
15
15
  supportsTool: true,
16
16
  supportsReasoningEffort: true,
17
+ endpointKey: "responses",
17
18
  price: {
18
19
  input: 1,
19
20
  inputCacheHit: 0.02,
@@ -0,0 +1,144 @@
1
+ import {
2
+ getModelAbility
3
+ } from "./chunk-Z3NEXVYE.js";
4
+
5
+ // packages/ai/agent/safeAgentSummary.ts
6
+ function parseTimestamp(val) {
7
+ if (typeof val === "number" && Number.isFinite(val)) return val;
8
+ if (typeof val === "string") return Date.parse(val) || 0;
9
+ return 0;
10
+ }
11
+ function safeTimestamp(val) {
12
+ if (typeof val === "number" && Number.isFinite(val)) return val;
13
+ if (typeof val === "string") return val;
14
+ return null;
15
+ }
16
+ function parseAgentRecordId(privateKey, explicitId) {
17
+ if (explicitId && typeof explicitId === "string" && explicitId.trim()) {
18
+ return explicitId.trim();
19
+ }
20
+ if (privateKey && typeof privateKey === "string") {
21
+ const match = privateKey.match(/^agent-[^-]+-(.+)$/i);
22
+ if (match?.[1]) return match[1];
23
+ }
24
+ return null;
25
+ }
26
+ function resolveFavoriteStatus(record, options) {
27
+ if (options?.isFavorite !== void 0) {
28
+ return {
29
+ isFavorite: !!options.isFavorite,
30
+ favoritedAt: safeTimestamp(options.favoritedAt)
31
+ };
32
+ }
33
+ if (record?.isFavorite === true) {
34
+ return {
35
+ isFavorite: true,
36
+ favoritedAt: safeTimestamp(record?.favoritedAt)
37
+ };
38
+ }
39
+ const favoritesMap = options?.favoritesMap;
40
+ if (!favoritesMap) {
41
+ return { isFavorite: false, favoritedAt: null };
42
+ }
43
+ const candidateKeys = [];
44
+ if (typeof record?.dbKey === "string" && record.dbKey) candidateKeys.push(record.dbKey);
45
+ if (typeof record?.privateKey === "string" && record.privateKey) candidateKeys.push(record.privateKey);
46
+ if (typeof record?.publicKey === "string" && record.publicKey) candidateKeys.push(record.publicKey);
47
+ if (typeof record?.id === "string" && record.id) {
48
+ candidateKeys.push(record.id);
49
+ candidateKeys.push(`agent-pub-${record.id}`);
50
+ if (options?.userId) {
51
+ candidateKeys.push(`agent-${options.userId}-${record.id}`);
52
+ }
53
+ }
54
+ let matched = false;
55
+ let highestFavAt = null;
56
+ let highestFavTime = -1;
57
+ for (const key of candidateKeys) {
58
+ const val = favoritesMap instanceof Map ? favoritesMap.get(key) : favoritesMap[key];
59
+ if (val !== void 0 && val !== false && val !== null) {
60
+ const favAt = val === true ? 1 : safeTimestamp(val);
61
+ if (favAt === null) continue;
62
+ matched = true;
63
+ const time = parseTimestamp(favAt);
64
+ if (time > highestFavTime) {
65
+ highestFavTime = time;
66
+ highestFavAt = favAt;
67
+ }
68
+ }
69
+ }
70
+ if (matched) {
71
+ return {
72
+ isFavorite: true,
73
+ favoritedAt: highestFavAt ?? 1
74
+ };
75
+ }
76
+ return { isFavorite: false, favoritedAt: null };
77
+ }
78
+ function toSafeAgentSummary(record, options) {
79
+ const rawId = parseAgentRecordId(
80
+ typeof record?.privateKey === "string" ? record.privateKey : record?.dbKey,
81
+ typeof record?.id === "string" ? record.id : void 0
82
+ );
83
+ const id = rawId ?? (typeof record?.id === "string" ? record.id : null);
84
+ let publicKey = null;
85
+ if (typeof record?.publicKey === "string" && record.publicKey) {
86
+ publicKey = record.publicKey;
87
+ } else if (id) {
88
+ publicKey = `agent-pub-${id}`;
89
+ }
90
+ const name = typeof record?.name === "string" && record.name ? record.name : "(unnamed)";
91
+ const handle = typeof record?.handle === "string" && record.handle ? record.handle : null;
92
+ const introduction = typeof record?.introduction === "string" && record.introduction ? record.introduction : typeof record?.description === "string" && record.description ? record.description : null;
93
+ const model = typeof record?.model === "string" && record.model ? record.model : null;
94
+ const provider = typeof record?.provider === "string" && record.provider ? record.provider : typeof record?.apiSource === "string" && record.apiSource ? record.apiSource : null;
95
+ const apiSource = typeof record?.apiSource === "string" && record.apiSource ? record.apiSource : null;
96
+ const cliProvider = typeof record?.cliProvider === "string" && record.cliProvider ? record.cliProvider : null;
97
+ const tools = Array.isArray(record?.tools) ? record.tools.filter((t) => typeof t === "string") : [];
98
+ const inputPrice = typeof record?.inputPrice === "number" && Number.isFinite(record.inputPrice) ? record.inputPrice : null;
99
+ const outputPrice = typeof record?.outputPrice === "number" && Number.isFinite(record.outputPrice) ? record.outputPrice : null;
100
+ const modelAbility = model ? getModelAbility(model) ?? null : null;
101
+ const favStatus = resolveFavoriteStatus(record, options);
102
+ const isPublic = record?.isPublic === true || record?.isPublicFlag === true || record?.publicRecordExists === true;
103
+ const updatedAt = safeTimestamp(record?.updatedAt ?? record?.createdAt ?? record?.created);
104
+ return {
105
+ id,
106
+ publicKey,
107
+ name,
108
+ handle,
109
+ introduction,
110
+ model,
111
+ provider,
112
+ apiSource,
113
+ cliProvider,
114
+ tools,
115
+ inputPrice,
116
+ outputPrice,
117
+ modelAbility,
118
+ isFavorite: favStatus.isFavorite,
119
+ favoritedAt: favStatus.favoritedAt,
120
+ isPublic,
121
+ updatedAt
122
+ };
123
+ }
124
+ function sortSafeAgentSummaries(agents) {
125
+ return [...agents].sort((left, right) => {
126
+ const leftFav = left.isFavorite === true;
127
+ const rightFav = right.isFavorite === true;
128
+ if (leftFav && !rightFav) return -1;
129
+ if (!leftFav && rightFav) return 1;
130
+ if (leftFav && rightFav) {
131
+ const leftFavAt = parseTimestamp(left.favoritedAt);
132
+ const rightFavAt = parseTimestamp(right.favoritedAt);
133
+ if (leftFavAt !== rightFavAt) return rightFavAt - leftFavAt;
134
+ }
135
+ const leftUpdated = parseTimestamp(left.updatedAt ?? left.createdAt);
136
+ const rightUpdated = parseTimestamp(right.updatedAt ?? right.createdAt);
137
+ return rightUpdated - leftUpdated;
138
+ });
139
+ }
140
+
141
+ export {
142
+ toSafeAgentSummary,
143
+ sortSafeAgentSummaries
144
+ };
@@ -2,17 +2,17 @@ import {
2
2
  buildCurrentTimeBlock,
3
3
  buildIdentityBlock,
4
4
  buildRuntimeGuidanceBlocks
5
- } from "./chunk-6KRA6AWI.js";
5
+ } from "./chunk-G7KM6BBZ.js";
6
6
  import {
7
7
  canonicalizeToolNames
8
- } from "./chunk-6OHYC4BY.js";
8
+ } from "./chunk-FZ2G3I4B.js";
9
9
  import {
10
10
  clipCompactText
11
11
  } from "./chunk-5MMAK75Q.js";
12
12
  import {
13
13
  findModelConfig,
14
14
  getProviderByModelName
15
- } from "./chunk-AOKWJZ5N.js";
15
+ } from "./chunk-S3UTETIC.js";
16
16
  import {
17
17
  asRecordOrEmpty
18
18
  } from "./chunk-KX6YBIHG.js";
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-EUN3SYY7.js";
5
+ } from "./chunk-SBVUZC2E.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-KQHGZWSV.js";
@@ -12,7 +12,7 @@ import {
12
12
  buildLocalAgentLookupKeys,
13
13
  normalizeAgentHandle,
14
14
  shouldReadAgentKeyRemotely
15
- } from "./chunk-ZJS64PZJ.js";
15
+ } from "./chunk-FVVST32H.js";
16
16
  import {
17
17
  LOCAL_CODEX_AGENT_ID,
18
18
  LOCAL_CODEX_AGENT_KEY,
@@ -27,13 +27,13 @@ import {
27
27
  } from "./chunk-ATNTHIZI.js";
28
28
  import {
29
29
  prepareTools
30
- } from "./chunk-HAC6GPRE.js";
30
+ } from "./chunk-WVS3GX3B.js";
31
31
  import {
32
32
  getAntigravityUserAgent,
33
33
  isAntigravityOAuthAgent,
34
34
  readAntigravityProjectId,
35
35
  resolveAntigravityCloudCodeBaseUrl
36
- } from "./chunk-D55DXHXL.js";
36
+ } from "./chunk-QWM7YWVT.js";
37
37
  import {
38
38
  FORCED_TOOLS,
39
39
  addDefaultLightWebToolsForConfiguredAgents,
@@ -43,7 +43,7 @@ import {
43
43
  readXPostFunctionSchema,
44
44
  readXhsProfileFunc,
45
45
  readXhsProfileFunctionSchema
46
- } from "./chunk-PTT6KSYQ.js";
46
+ } from "./chunk-IPA2WQGY.js";
47
47
  import {
48
48
  normalizeDialogTitle
49
49
  } from "./chunk-OWOHNGCN.js";
@@ -52,7 +52,7 @@ import {
52
52
  } from "./chunk-V2J635L5.js";
53
53
  import {
54
54
  fetchServerSyncedCredential
55
- } from "./chunk-4VA3UQRF.js";
55
+ } from "./chunk-Q7S2ORXX.js";
56
56
  import {
57
57
  buildAgentRuntimeDialogWritePlan,
58
58
  buildLocalWorkspaceOpenAiTools,
@@ -65,7 +65,7 @@ import {
65
65
  parseSseDataLineJson,
66
66
  readOpenAiCompatibleSseCompletion,
67
67
  resolveOpenAiCompatibleProviderConfig
68
- } from "./chunk-LBUTKV7S.js";
68
+ } from "./chunk-C4DZRHFJ.js";
69
69
  import {
70
70
  buildPlatformChatCompletionRequest,
71
71
  canUsePlatformChatProvider,
@@ -74,14 +74,14 @@ import {
74
74
  readSseDataValues,
75
75
  resolvePlatformChatProviderConfig,
76
76
  shouldUsePlatformChatProvider
77
- } from "./chunk-6UUD2WES.js";
77
+ } from "./chunk-3KGTFX3T.js";
78
78
  import {
79
79
  resolveAgentRuntimeConfigFromRecord
80
80
  } from "./chunk-YOCHZD7D.js";
81
81
  import {
82
82
  parseToolArgumentsJson,
83
83
  summarizeToolArguments
84
- } from "./chunk-RBB43B5W.js";
84
+ } from "./chunk-AISLHYDB.js";
85
85
  import {
86
86
  buildLoadSkillExecutor,
87
87
  buildNoloWorkspaceCliToolExecutors,
@@ -89,7 +89,7 @@ import {
89
89
  canonicalizeToolNames,
90
90
  parseNoloWorkspaceToolArguments,
91
91
  resolveRuntimeToolSurfaceForAgent
92
- } from "./chunk-6OHYC4BY.js";
92
+ } from "./chunk-FZ2G3I4B.js";
93
93
  import {
94
94
  clipCompactText
95
95
  } from "./chunk-5MMAK75Q.js";
@@ -3,7 +3,7 @@ import {
3
3
  prepareAndPersistMessage,
4
4
  uiAskChoiceFunc,
5
5
  uiAskChoiceFunctionSchema
6
- } from "./chunk-ZAUDEKML.js";
6
+ } from "./chunk-GROGNZOA.js";
7
7
  import {
8
8
  require_date_fns
9
9
  } from "./chunk-M76ECQRD.js";
@@ -22,7 +22,7 @@ import {
22
22
  PLATFORM_HOSTED_GLM_52_MODEL,
23
23
  PLATFORM_HOSTED_GLM_PRICE,
24
24
  PLATFORM_HOSTED_KIMI_PROVIDER
25
- } from "./chunk-RBCNBU2A.js";
25
+ } from "./chunk-524BDL33.js";
26
26
  import {
27
27
  createAgentKey,
28
28
  createDialogKey,
@@ -3,25 +3,25 @@ import {
3
3
  finalizeAccumulatedToolCalls,
4
4
  flushChatCompletionStream,
5
5
  readSseFrames,
6
- throwIfChatCompletionStreamFailed,
7
- toOpenAiCompatibleMessages
8
- } from "./chunk-6UUD2WES.js";
6
+ throwIfChatCompletionStreamFailed
7
+ } from "./chunk-3KGTFX3T.js";
9
8
  import {
10
9
  parseToolArgumentsJson
11
- } from "./chunk-RBB43B5W.js";
10
+ } from "./chunk-AISLHYDB.js";
12
11
  import {
13
12
  createThinkParserState,
14
13
  extractThinkContent
15
14
  } from "./chunk-OPZYGHUC.js";
16
15
  import {
17
16
  buildProviderAuthHeaders,
18
- buildProviderExecutionPlan
19
- } from "./chunk-AWY2AFHN.js";
17
+ buildProviderExecutionPlan,
18
+ toOpenAiCompatibleMessages
19
+ } from "./chunk-3HPUUWOR.js";
20
20
  import {
21
21
  canonicalizeToolName,
22
22
  createGlob,
23
23
  resolveExecutableOnPath
24
- } from "./chunk-6OHYC4BY.js";
24
+ } from "./chunk-FZ2G3I4B.js";
25
25
  import {
26
26
  asRecordOrEmpty
27
27
  } from "./chunk-KX6YBIHG.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  clearCliLocalRuntimePreparedAgentCache
3
- } from "./chunk-P7GAHW32.js";
3
+ } from "./chunk-BQECZ3Q4.js";
4
4
  import {
5
5
  getReadableCliDb
6
6
  } from "./chunk-W4NVOSFF.js";
@@ -12,7 +12,7 @@ import {
12
12
  resolveAgentRecordFromHybridStore,
13
13
  sanitizeAgentRecordForCliOutput,
14
14
  writeAgentRecord
15
- } from "./chunk-EUN3SYY7.js";
15
+ } from "./chunk-SBVUZC2E.js";
16
16
  import {
17
17
  resolveCliAgentKeyInput
18
18
  } from "./chunk-VHBWHNVT.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-LBUTKV7S.js";
4
+ } from "./chunk-C4DZRHFJ.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -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": {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  canonicalizeToolNames
3
- } from "./chunk-6OHYC4BY.js";
3
+ } from "./chunk-FZ2G3I4B.js";
4
4
  import {
5
5
  asTrimmedString
6
6
  } from "./chunk-3EUW3WEO.js";