nolo-cli 0.12.0-alpha.5 → 0.12.0-alpha.7

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 (78) hide show
  1. package/{_executeModel-L4JM5R23.js → _executeModel-Q4IYLZS4.js} +21 -21
  2. package/{action-RAXNQQKC.js → action-OTOWUMPW.js} +3 -3
  3. package/{addContentAction-ZHI7TVV3.js → addContentAction-JGBUVR7K.js} +2 -2
  4. package/{addDialogAgentAction-JWXPKXNC.js → addDialogAgentAction-V6CL2UCF.js} +1 -1
  5. package/{agentDeleteCommand-MWB2LXG6.js → agentDeleteCommand-7KI5P63D.js} +13 -13
  6. package/{agentEmailCommands-32ZZ4VSU.js → agentEmailCommands-DEMUYI4P.js} +25 -25
  7. package/{agentListCommands-SKUYB2RQ.js → agentListCommands-UOKKEHD5.js} +14 -14
  8. package/{agentMachineCommands-EHFBWQ2U.js → agentMachineCommands-P6O6QHTM.js} +13 -13
  9. package/{agentRecordCommands-DSMDSFMJ.js → agentRecordCommands-YTDXSM7M.js} +25 -25
  10. package/{agentRunCommand-MEVHCOMH.js → agentRunCommand-THSCEIK2.js} +26 -26
  11. package/{agentRuntimeLocal-PR67XWQK.js → agentRuntimeLocal-URCNA6VW.js} +10 -10
  12. package/{agentSlice-Y3NABOKT.js → agentSlice-X6ULYPOA.js} +2 -2
  13. package/{chunk-RNYKVIND.js → chunk-2XFDQEXO.js} +4 -4
  14. package/{chunk-FW4SQ6II.js → chunk-3ERGZN5Y.js} +1 -1
  15. package/{chunk-XRFEX5ZP.js → chunk-5KXZEOB6.js} +1 -1
  16. package/{chunk-ZR4VHQ5D.js → chunk-6TISG7CK.js} +1 -1
  17. package/{chunk-OILEWBXT.js → chunk-72PCQ5XQ.js} +1 -1
  18. package/{chunk-FHTPQXHP.js → chunk-7HV5OHEM.js} +1 -1
  19. package/{chunk-45JUQTYY.js → chunk-AS3ZQ3O2.js} +0 -17
  20. package/{chunk-5DVIMRVT.js → chunk-B4KT7RN2.js} +4 -4
  21. package/{chunk-CJIOTRWY.js → chunk-BLX7A3UL.js} +2 -2
  22. package/{chunk-74D2NYOA.js → chunk-C6C43FKQ.js} +4 -4
  23. package/{chunk-324SDMXK.js → chunk-D5UOJGZU.js} +2 -2
  24. package/{chunk-7MYHLZ3F.js → chunk-DPFWKRHG.js} +1 -1
  25. package/{chunk-MCXQFHBX.js → chunk-DWXS7QEV.js} +14 -14
  26. package/{chunk-G5S6HMHH.js → chunk-EGPNTKU2.js} +10 -10
  27. package/{chunk-B54KNGXI.js → chunk-F4RTTHOQ.js} +3 -3
  28. package/{chunk-Z6ZZXQOZ.js → chunk-GEJ3NVPG.js} +1 -1
  29. package/{chunk-OCDEWRE2.js → chunk-JKWWVF2I.js} +1 -1
  30. package/{chunk-WTYKCU4W.js → chunk-JU7J7EAV.js} +37 -37
  31. package/{chunk-S73OEOHH.js → chunk-NAEAB62H.js} +3 -3
  32. package/{chunk-S3UTETIC.js → chunk-OGGHETUE.js} +19 -4
  33. package/{chunk-YC2MRILU.js → chunk-PKDL3HPF.js} +2 -2
  34. package/{chunk-UG3WOFU6.js → chunk-QJSTNKJY.js} +1 -1
  35. package/{chunk-TZS6YZTS.js → chunk-QTNKHFAK.js} +157 -18
  36. package/{chunk-A4QALINN.js → chunk-R64KFNTS.js} +2 -2
  37. package/{chunk-TNQJQ6HM.js → chunk-REH2ABIG.js} +27 -33
  38. package/{chunk-6LMFFG3K.js → chunk-RWO5DGXI.js} +2 -2
  39. package/{chunk-FMT767NK.js → chunk-UIYF67QX.js} +24 -19
  40. package/{chunk-NITP2JDG.js → chunk-VKG4HXYV.js} +1 -1
  41. package/{chunk-TSKWE74T.js → chunk-WO24IT3V.js} +1 -1
  42. package/{chunk-3HHTVM6G.js → chunk-WVTBAALN.js} +1 -1
  43. package/{chunk-UJ5L6X7H.js → chunk-WWIMZXTC.js} +2 -2
  44. package/{chunk-4GBNEA5B.js → chunk-Y3BLUPNS.js} +1 -1
  45. package/{chunk-JCU2JDCV.js → chunk-YCXS3OPT.js} +15 -6
  46. package/{chunk-DFGCBRIA.js → chunk-YRWNTL6W.js} +11 -11
  47. package/{chunk-QY4QCWDL.js → chunk-Z2BX5TKZ.js} +3 -3
  48. package/{chunk-TVQEB7RV.js → chunk-ZPPBDWKK.js} +1 -1
  49. package/{createAgentAutomationAction-YWC4P6JX.js → createAgentAutomationAction-2RY5SO76.js} +8 -8
  50. package/{createDialogAction-IQP745JA.js → createDialogAction-ZBASPHZU.js} +9 -9
  51. package/{createPageAction-T4RZCJKF.js → createPageAction-F5IAHELK.js} +8 -8
  52. package/{dbSlice-WDP2ZZHK.js → dbSlice-J4PUZ6Y5.js} +1 -1
  53. package/{dialogCommands-BTHTTSE2.js → dialogCommands-3THDF2JT.js} +14 -14
  54. package/{dialogSlice-QR7SDOEV.js → dialogSlice-K2USDPWM.js} +8 -8
  55. package/{docCreateCommands-PQEX44Q7.js → docCreateCommands-ZBB5YVX6.js} +13 -13
  56. package/{docDeleteCommands-B3Q2M42N.js → docDeleteCommands-6K7UJDRZ.js} +14 -14
  57. package/{docReadCommands-RCUVTX3Q.js → docReadCommands-W3G6RMEK.js} +13 -13
  58. package/{docStore-Y43RC35L.js → docStore-UPTODHEV.js} +9 -9
  59. package/{docUpdateCommands-NS5QAUAJ.js → docUpdateCommands-B3BNRXSH.js} +13 -13
  60. package/{getPricing-6TOZXPAU.js → getPricing-UGDJHI7M.js} +2 -2
  61. package/{handleSendMessageAction-L7L463O4.js → handleSendMessageAction-VZNBYBOR.js} +8 -8
  62. package/index.js +36 -36
  63. package/{machineCommands-KJZXH2FO.js → machineCommands-DEIHAXA4.js} +24 -24
  64. package/{machineWsRunDispatch-V4HBAZY6.js → machineWsRunDispatch-EOCGXTWR.js} +24 -24
  65. package/package.json +1 -1
  66. package/{readlineWorkspace-LRPVHBM3.js → readlineWorkspace-5EUY7IQZ.js} +75 -55
  67. package/{removeDialogAgentAction-GTX5AN54.js → removeDialogAgentAction-XUZYQBV4.js} +3 -3
  68. package/{runAgentClientLoop-DXNOTYXP.js → runAgentClientLoop-BG7MN7X7.js} +18 -18
  69. package/{setDialogExtraReferencesAction-WFQ63KYO.js → setDialogExtraReferencesAction-PTAIFKGM.js} +1 -1
  70. package/{setPrimaryDialogAgentAction-P57FXTSU.js → setPrimaryDialogAgentAction-HRFTDB44.js} +3 -3
  71. package/{settingSlice-CK5YZGNI.js → settingSlice-VGRJUSE5.js} +2 -2
  72. package/{skillDiscovery-SZEA7TH6.js → skillDiscovery-6M2BZUFN.js} +1 -1
  73. package/{spaceCommands-VTJYPRFQ.js → spaceCommands-K5BQGCFE.js} +13 -13
  74. package/{spaceSlice-PSAREO5S.js → spaceSlice-5VGNKIE4.js} +10 -8
  75. package/{streamAgentChatTurn-54CNCH2V.js → streamAgentChatTurn-Y4AAGJJG.js} +45 -22
  76. package/{tools-SIU3JFHL.js → tools-HG53NEI2.js} +13 -13
  77. package/{tuiSummaryLlmCaller-TXLF4MEI.js → tuiSummaryLlmCaller-YEHSPGXZ.js} +3 -3
  78. package/{updateDialogTitleAction-3VT7R3GN.js → updateDialogTitleAction-3F5SATT4.js} +8 -8
@@ -4,10 +4,10 @@ import {
4
4
  flushChatCompletionStream,
5
5
  readSseFrames,
6
6
  throwIfChatCompletionStreamFailed
7
- } from "./chunk-ZR4VHQ5D.js";
7
+ } from "./chunk-6TISG7CK.js";
8
8
  import {
9
9
  parseToolArgumentsJson
10
- } from "./chunk-JCU2JDCV.js";
10
+ } from "./chunk-YCXS3OPT.js";
11
11
  import {
12
12
  createThinkParserState,
13
13
  extractThinkContent
@@ -16,12 +16,12 @@ import {
16
16
  buildProviderAuthHeaders,
17
17
  buildProviderExecutionPlan,
18
18
  toOpenAiCompatibleMessages
19
- } from "./chunk-TSKWE74T.js";
19
+ } from "./chunk-WO24IT3V.js";
20
20
  import {
21
21
  canonicalizeToolName,
22
22
  createGlob,
23
23
  resolveExecutableOnPath
24
- } from "./chunk-5DVIMRVT.js";
24
+ } from "./chunk-B4KT7RN2.js";
25
25
  import {
26
26
  toErrorMessage
27
27
  } from "./chunk-HNMXYYJR.js";
@@ -2,7 +2,7 @@ import {
2
2
  buildLocalAgentLookupKeys,
3
3
  normalizeAgentHandle,
4
4
  shouldReadAgentKeyRemotely
5
- } from "./chunk-XRFEX5ZP.js";
5
+ } from "./chunk-5KXZEOB6.js";
6
6
  import {
7
7
  resolveCliAgentKeyInput
8
8
  } from "./chunk-VHBWHNVT.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-RNYKVIND.js";
4
+ } from "./chunk-2XFDQEXO.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -17,7 +17,7 @@ import {
17
17
  resolveProviderTransportDecision,
18
18
  toOpenAiCompatibleMessages,
19
19
  toResponsesTools
20
- } from "./chunk-TSKWE74T.js";
20
+ } from "./chunk-WO24IT3V.js";
21
21
 
22
22
  // packages/agent-runtime/toolCallAccumulator.ts
23
23
  function accumulateToolCallDelta(accumulated, deltas) {
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-FW4SQ6II.js";
5
+ } from "./chunk-3ERGZN5Y.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-KQHGZWSV.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  canonicalizeToolNames
3
- } from "./chunk-5DVIMRVT.js";
3
+ } from "./chunk-B4KT7RN2.js";
4
4
  import {
5
5
  asTrimmedString
6
6
  } from "./chunk-3EUW3WEO.js";
@@ -83,23 +83,6 @@ function resolveSkillByName(cwd, name) {
83
83
  } catch {
84
84
  }
85
85
  }
86
- const docsFlat = join(cwd, "docs", "skills", `${trimmed}.md`);
87
- if (existsSync(docsFlat)) return docsFlat;
88
- const docsDir = join(cwd, "docs", "skills");
89
- if (existsSync(docsDir) && statSync(docsDir).isDirectory()) {
90
- try {
91
- for (const entry of readdirSync(docsDir)) {
92
- if (!entry.endsWith(".md")) continue;
93
- const candidate = join(docsDir, entry);
94
- try {
95
- const { name: fmName } = parseSkillFrontmatter(candidate);
96
- if (fmName && fmName === trimmed) return candidate;
97
- } catch {
98
- }
99
- }
100
- } catch {
101
- }
102
- }
103
86
  return null;
104
87
  }
105
88
  function buildSkillDiscoveryContextBlock(cwd) {
@@ -477,7 +477,7 @@ function buildNoloWorkspaceOpenAiTools(args) {
477
477
  add("readSkillDoc", "Read one skill doc in the Nolo workspace.", {
478
478
  doc: stringToolParam("Skill doc/page key.")
479
479
  }, ["doc"]);
480
- add("loadSkill", "Load a Skill by name from the workspace skill directories (.agents/skills/<name>/SKILL.md, then docs/skills/<name>.md) and return its full SKILL.md content inline so you can follow its instructions. Use this instead of readFile when you want to activate a skill. On an unknown name the tool returns a plain text list of available skill names rather than failing.", {
480
+ add("loadSkill", "Load a Skill by name from the workspace skill directory (.agents/skills/<name>/SKILL.md) and return its full SKILL.md content inline so you can follow its instructions. Use this instead of readFile when you want to activate a skill. On an unknown name the tool returns a plain text list of available skill names rather than failing.", {
481
481
  name: stringToolParam("Skill name (the name advertised in the skill-discovery layer).")
482
482
  }, ["name"]);
483
483
  add("listTables", "List tables in the current user scope or an optional space scope.", {
@@ -892,7 +892,7 @@ function buildLoadSkillExecutor(args) {
892
892
  metadata: { loadSkill: true, resolved: false }
893
893
  };
894
894
  }
895
- const { resolveSkillByName } = await import("./skillDiscovery-SZEA7TH6.js");
895
+ const { resolveSkillByName } = await import("./skillDiscovery-6M2BZUFN.js");
896
896
  const resolved = resolveSkillByName(args.cwd, name);
897
897
  if (!resolved) {
898
898
  return {
@@ -919,13 +919,13 @@ ${body}`,
919
919
  };
920
920
  }
921
921
  async function formatUnknownSkillMessage(cwd, requestedName) {
922
- const { discoverSkills } = await import("./skillDiscovery-SZEA7TH6.js");
922
+ const { discoverSkills } = await import("./skillDiscovery-6M2BZUFN.js");
923
923
  let available = [];
924
924
  try {
925
925
  available = discoverSkills(cwd).map((s) => s.name);
926
926
  } catch {
927
927
  }
928
- const header = `Skill "${requestedName}" not found in this workspace's skill directories (.agents/skills/<name>/SKILL.md, docs/skills/<name>.md).`;
928
+ const header = `Skill "${requestedName}" not found in this workspace's skill directory (.agents/skills/<name>/SKILL.md).`;
929
929
  if (available.length === 0) return `${header}
930
930
 
931
931
  No skills were discovered in this workspace.`;
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  listUserRecordsFromServers,
3
3
  readLiveDbRecordAfterTombstoneMerge
4
- } from "./chunk-OILEWBXT.js";
4
+ } from "./chunk-72PCQ5XQ.js";
5
5
  import {
6
6
  agentRecordHasConfiguredCredential
7
- } from "./chunk-FW4SQ6II.js";
7
+ } from "./chunk-3ERGZN5Y.js";
8
8
  import {
9
9
  toSafeAgentSummary
10
10
  } from "./chunk-OOIN7HSO.js";
@@ -11,7 +11,7 @@ import {
11
11
  patch,
12
12
  remove,
13
13
  write
14
- } from "./chunk-NITP2JDG.js";
14
+ } from "./chunk-VKG4HXYV.js";
15
15
  import {
16
16
  createAgentKey,
17
17
  toTrimmedString
@@ -300,7 +300,7 @@ var slice = createSliceWithThunks({
300
300
  const overrides = {};
301
301
  if (args.systemPromptOverride !== void 0) overrides.prompt = args.systemPromptOverride;
302
302
  if (args.toolsOverride !== void 0) overrides.tools = args.toolsOverride;
303
- const { _executeModel } = await import("./_executeModel-L4JM5R23.js");
303
+ const { _executeModel } = await import("./_executeModel-Q4IYLZS4.js");
304
304
  return _executeModel(
305
305
  {
306
306
  isStreaming: args.isStreaming ?? false,
@@ -321,7 +321,7 @@ var slice = createSliceWithThunks({
321
321
  * - 循环直到无工具调用或触发其他运行时停止条件
322
322
  */
323
323
  runAgent: create.asyncThunk(async (args, thunkApi) => {
324
- const { runAgentClientLoop } = await import("./runAgentClientLoop-DXNOTYXP.js");
324
+ const { runAgentClientLoop } = await import("./runAgentClientLoop-BG7MN7X7.js");
325
325
  const { content: loopContent, toolCallCount } = await runAgentClientLoop(
326
326
  {
327
327
  agentKey: args.agentKey,
@@ -337,7 +337,7 @@ var slice = createSliceWithThunks({
337
337
  * 聊天轮次流式 Agent 调用
338
338
  */
339
339
  streamAgentChatTurn: create.asyncThunk(async (args, thunkApi) => {
340
- const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-54CNCH2V.js");
340
+ const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-Y4AAGJJG.js");
341
341
  return streamAgentChatTurnHandler(args, thunkApi);
342
342
  }),
343
343
  /**
@@ -3,7 +3,7 @@ import {
3
3
  prepareAndPersistMessage,
4
4
  uiAskChoiceFunc,
5
5
  uiAskChoiceFunctionSchema
6
- } from "./chunk-FMT767NK.js";
6
+ } from "./chunk-UIYF67QX.js";
7
7
  import {
8
8
  require_date_fns
9
9
  } from "./chunk-M76ECQRD.js";
@@ -25,7 +25,7 @@ import {
25
25
  removeCachedEntity,
26
26
  upsertSSREntity,
27
27
  write
28
- } from "./chunk-NITP2JDG.js";
28
+ } from "./chunk-VKG4HXYV.js";
29
29
  import {
30
30
  createAgentKey,
31
31
  createDialogKey,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  selectCurrentServer,
3
3
  selectRemoteServers
4
- } from "./chunk-WTYKCU4W.js";
4
+ } from "./chunk-JU7J7EAV.js";
5
5
  import {
6
6
  createUserKey,
7
7
  extractAgentInfo,
@@ -12,7 +12,7 @@ import {
12
12
  buildLocalAgentLookupKeys,
13
13
  normalizeAgentHandle,
14
14
  shouldReadAgentKeyRemotely
15
- } from "./chunk-XRFEX5ZP.js";
15
+ } from "./chunk-5KXZEOB6.js";
16
16
  import {
17
17
  LOCAL_CODEX_AGENT_ID,
18
18
  LOCAL_CODEX_AGENT_KEY,
@@ -21,19 +21,19 @@ import {
21
21
  } from "./chunk-VHBWHNVT.js";
22
22
  import {
23
23
  inferCaptureIntent
24
- } from "./chunk-UG3WOFU6.js";
24
+ } from "./chunk-QJSTNKJY.js";
25
25
  import {
26
26
  buildCliPrompt
27
27
  } from "./chunk-ATNTHIZI.js";
28
28
  import {
29
29
  prepareTools
30
- } from "./chunk-YC2MRILU.js";
30
+ } from "./chunk-PKDL3HPF.js";
31
31
  import {
32
32
  getAntigravityUserAgent,
33
33
  isAntigravityOAuthAgent,
34
34
  readAntigravityProjectId,
35
35
  resolveAntigravityCloudCodeBaseUrl
36
- } from "./chunk-4GBNEA5B.js";
36
+ } from "./chunk-Y3BLUPNS.js";
37
37
  import {
38
38
  FORCED_TOOLS,
39
39
  addDefaultLightWebToolsForConfiguredAgents,
@@ -49,7 +49,7 @@ import {
49
49
  readXPostFunctionSchema,
50
50
  readXhsProfileFunc,
51
51
  readXhsProfileFunctionSchema
52
- } from "./chunk-TZS6YZTS.js";
52
+ } from "./chunk-QTNKHFAK.js";
53
53
  import {
54
54
  createDrainExhaustedResponse,
55
55
  isCoreDrainingBody,
@@ -61,13 +61,13 @@ import {
61
61
  } from "./chunk-OWOHNGCN.js";
62
62
  import {
63
63
  prepareTokenUsageData
64
- } from "./chunk-FMT767NK.js";
64
+ } from "./chunk-UIYF67QX.js";
65
65
  import {
66
66
  BUILTIN_TITLE_LLM_CONFIG
67
67
  } from "./chunk-V2J635L5.js";
68
68
  import {
69
69
  fetchServerSyncedCredential
70
- } from "./chunk-74D2NYOA.js";
70
+ } from "./chunk-C6C43FKQ.js";
71
71
  import {
72
72
  buildAgentRuntimeDialogWritePlan,
73
73
  buildLocalWorkspaceOpenAiTools,
@@ -80,7 +80,7 @@ import {
80
80
  parseSseDataLineJson,
81
81
  readOpenAiCompatibleSseCompletion,
82
82
  resolveOpenAiCompatibleProviderConfig
83
- } from "./chunk-RNYKVIND.js";
83
+ } from "./chunk-2XFDQEXO.js";
84
84
  import {
85
85
  buildPlatformChatCompletionRequest,
86
86
  canUsePlatformChatProvider,
@@ -90,14 +90,14 @@ import {
90
90
  resolveLegacyDeepSeekProxyChatFallback,
91
91
  resolvePlatformChatProviderConfig,
92
92
  shouldUsePlatformChatProvider
93
- } from "./chunk-ZR4VHQ5D.js";
93
+ } from "./chunk-6TISG7CK.js";
94
94
  import {
95
95
  resolveAgentRuntimeConfigFromRecord
96
96
  } from "./chunk-NCGFB7NN.js";
97
97
  import {
98
98
  parseToolArgumentsJson,
99
99
  summarizeToolArguments
100
- } from "./chunk-JCU2JDCV.js";
100
+ } from "./chunk-YCXS3OPT.js";
101
101
  import {
102
102
  buildLoadSkillExecutor,
103
103
  buildNoloWorkspaceCliToolExecutors,
@@ -105,10 +105,10 @@ import {
105
105
  canonicalizeToolNames,
106
106
  parseNoloWorkspaceToolArguments,
107
107
  resolveRuntimeToolSurfaceForAgent
108
- } from "./chunk-5DVIMRVT.js";
108
+ } from "./chunk-B4KT7RN2.js";
109
109
  import {
110
110
  clipCompactText
111
- } from "./chunk-S73OEOHH.js";
111
+ } from "./chunk-NAEAB62H.js";
112
112
  import {
113
113
  createFileCredentialBroker,
114
114
  resolveCurrentRunRuntimeToolPolicy,
@@ -770,8 +770,8 @@ Use /switch, /switch list, /switch minimax-m3, or a full agent key.`,
770
770
  zh: "\u5DF2\u6302\u8F7D\u6280\u80FD\uFF1A{0}\n\u7528\u6CD5\uFF1A/skill attach <ref> | /skill detach <ref> | /skill clear"
771
771
  },
772
772
  skillNoneHint: {
773
- en: "No skills attached. Use /skill attach <skill-ref> to attach a skill.\nSkill refs can be a dbKey (page-xxx), a skill name (searched in .agents/skills/ then docs/skills/), or a direct path.",
774
- zh: "\u8FD8\u6CA1\u6709\u6302\u8F7D\u6280\u80FD\u3002\u7528 /skill attach <skill-ref> \u6302\u8F7D\u6280\u80FD\u3002\n\u6280\u80FD\u5F15\u7528\u53EF\u4EE5\u662F dbKey\uFF08page-xxx\uFF09\u3001\u6280\u80FD\u540D\uFF08\u4F1A\u5728 .agents/skills/ \u4E0E docs/skills/ \u4E2D\u67E5\u627E\uFF09\u6216\u76F4\u63A5\u8DEF\u5F84\u3002"
773
+ en: "No skills attached. Use /skill attach <skill-ref> to attach a skill.\nSkill refs can be a dbKey (page-xxx), a skill name (searched in .agents/skills/), or a direct path.",
774
+ zh: "\u8FD8\u6CA1\u6709\u6302\u8F7D\u6280\u80FD\u3002\u7528 /skill attach <skill-ref> \u6302\u8F7D\u6280\u80FD\u3002\n\u6280\u80FD\u5F15\u7528\u53EF\u4EE5\u662F dbKey\uFF08page-xxx\uFF09\u3001\u6280\u80FD\u540D\uFF08\u4F1A\u5728 .agents/skills/ \u4E2D\u67E5\u627E\uFF09\u6216\u76F4\u63A5\u8DEF\u5F84\u3002"
775
775
  },
776
776
  customizeHint: {
777
777
  en: "Tell nolo what to change, for example: /customize make my default agent more concise.",
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-JEXVIMYZ.js";
4
4
  import {
5
5
  prepareTools
6
- } from "./chunk-YC2MRILU.js";
6
+ } from "./chunk-PKDL3HPF.js";
7
7
  import {
8
8
  performFetchRequest
9
- } from "./chunk-DFGCBRIA.js";
9
+ } from "./chunk-YRWNTL6W.js";
10
10
  import {
11
11
  createSSEParser,
12
12
  createToolRunId,
@@ -17,7 +17,7 @@ import {
17
17
  toolRunSetPending,
18
18
  toolRunStarted,
19
19
  toolRunSucceeded
20
- } from "./chunk-TZS6YZTS.js";
20
+ } from "./chunk-QTNKHFAK.js";
21
21
  import {
22
22
  getPublicImageAgentMode
23
23
  } from "./chunk-VIDPVFP3.js";
@@ -27,13 +27,13 @@ import {
27
27
  messageStreaming,
28
28
  selectCurrentSpaceId,
29
29
  updateToolMessage
30
- } from "./chunk-FMT767NK.js";
30
+ } from "./chunk-UIYF67QX.js";
31
31
  import {
32
32
  streamAgentChatTurn
33
- } from "./chunk-74D2NYOA.js";
33
+ } from "./chunk-C6C43FKQ.js";
34
34
  import {
35
35
  EMPTY_ASSISTANT_REPAIR_PROMPT
36
- } from "./chunk-JCU2JDCV.js";
36
+ } from "./chunk-YCXS3OPT.js";
37
37
  import {
38
38
  createThinkParserState,
39
39
  flushThinkParser,
@@ -41,10 +41,10 @@ import {
41
41
  } from "./chunk-OPZYGHUC.js";
42
42
  import {
43
43
  getModelInfo
44
- } from "./chunk-S73OEOHH.js";
44
+ } from "./chunk-NAEAB62H.js";
45
45
  import {
46
46
  getApiEndpoint
47
- } from "./chunk-S3UTETIC.js";
47
+ } from "./chunk-OGGHETUE.js";
48
48
  import {
49
49
  extractCustomId
50
50
  } from "./chunk-DFFIZ25G.js";
@@ -61,10 +61,10 @@ import {
61
61
  } from "./chunk-524BDL33.js";
62
62
  import {
63
63
  selectCurrentServer
64
- } from "./chunk-WTYKCU4W.js";
64
+ } from "./chunk-JU7J7EAV.js";
65
65
  import {
66
66
  write
67
- } from "./chunk-NITP2JDG.js";
67
+ } from "./chunk-VKG4HXYV.js";
68
68
  import {
69
69
  createDialogMessageKeyAndId,
70
70
  dialogMessageKey,
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-MCXQFHBX.js";
4
+ } from "./chunk-DWXS7QEV.js";
5
5
  import {
6
6
  clipMultilineText
7
- } from "./chunk-TZS6YZTS.js";
7
+ } from "./chunk-QTNKHFAK.js";
8
8
  import {
9
9
  runLocalAgentTurn
10
- } from "./chunk-JCU2JDCV.js";
10
+ } from "./chunk-YCXS3OPT.js";
11
11
  import {
12
12
  resolveLocalRuntimeEnvFromPolicy
13
13
  } from "./chunk-PDL2AV3E.js";
@@ -7,7 +7,7 @@ import {
7
7
  listUserRecordsFromServers,
8
8
  readDbRecordFromServers,
9
9
  readLiveDbRecordAfterTombstoneMerge
10
- } from "./chunk-OILEWBXT.js";
10
+ } from "./chunk-72PCQ5XQ.js";
11
11
  import {
12
12
  buildDialogAttachmentPlan,
13
13
  extractFileContentIds
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-CWMSB67P.js";
7
7
  import {
8
8
  getModelConfig
9
- } from "./chunk-S3UTETIC.js";
9
+ } from "./chunk-OGGHETUE.js";
10
10
  import {
11
11
  asOptionalFiniteNumber
12
12
  } from "./chunk-WWC7I6TA.js";
@@ -10,7 +10,7 @@ import {
10
10
  toTimestampMs,
11
11
  upsert,
12
12
  write
13
- } from "./chunk-NITP2JDG.js";
13
+ } from "./chunk-VKG4HXYV.js";
14
14
  import {
15
15
  createUserKey,
16
16
  createUserPreferenceKey,
@@ -763,41 +763,41 @@ var catppuccin = {
763
763
  textOnPrimary: "#FFFFFF"
764
764
  },
765
765
  dark: {
766
- // Ghostty GitHub Dark Default — #0D1117 canvas + sky blue #58A6FF accent
767
- primary: "#58A6FF",
768
- primaryLight: "#79C0FF",
769
- primaryDark: "#1F6FEB",
770
- primaryGradient: "linear-gradient(135deg, #58A6FF, #79C0FF)",
771
- primaryGhost: "rgba(88,166,255,0.10)",
772
- primaryHover: "rgba(88,166,255,0.12)",
773
- borderAccent: "#1F6FEB",
774
- success: "#3FB950",
775
- warning: "#D29922",
776
- info: "#58A6FF",
777
- error: "#FF7B72",
778
- background: "#0D1117",
779
- backgroundSecondary: "#161B22",
780
- backgroundTertiary: "#21262D",
781
- backgroundGhost: "rgba(13,17,23,0.94)",
782
- backgroundHover: "#1C2128",
783
- backgroundSelected: "#1F6FEB",
784
- backgroundElevated: "#161B22",
785
- text: "#E6EDF3",
786
- textSecondary: "#B1BAC4",
787
- textTertiary: "#8B949E",
788
- textQuaternary: "#6E7681",
789
- textLight: "#30363D",
790
- placeholder: "#6E7681",
791
- border: "#30363D",
792
- borderHover: "#424A53",
793
- borderLight: "#21262D",
794
- messageBackground: "#161B22",
795
- codeBackground: "#161B22",
796
- shadowLight: "rgba(13,17,23,0.18)",
797
- shadowMedium: "rgba(13,17,23,0.30)",
798
- shadowHeavy: "rgba(13,17,23,0.44)",
799
- textHeading: "#E6EDF3",
800
- textOnPrimary: "#0D1117"
766
+ // Catppuccin Mocha — 柔和夜间色调(告别高对比刺眼黑白,偏向 Ghostty Catppuccin Mocha)
767
+ primary: "#89B4FA",
768
+ primaryLight: "#B4BEFE",
769
+ primaryDark: "#74C7EC",
770
+ primaryGradient: "linear-gradient(135deg, #89B4FA, #B4BEFE)",
771
+ primaryGhost: "rgba(137,180,250,0.12)",
772
+ primaryHover: "rgba(137,180,250,0.16)",
773
+ borderAccent: "#89B4FA",
774
+ success: "#A6E3A1",
775
+ warning: "#F9E2AF",
776
+ info: "#89B4FA",
777
+ error: "#F38BA8",
778
+ background: "#1E1E2E",
779
+ backgroundSecondary: "#181825",
780
+ backgroundTertiary: "#313244",
781
+ backgroundGhost: "rgba(30,30,46,0.94)",
782
+ backgroundHover: "#313244",
783
+ backgroundSelected: "#45475A",
784
+ backgroundElevated: "#181825",
785
+ text: "#CDD6F4",
786
+ textSecondary: "#BAC2DE",
787
+ textTertiary: "#A6ADC8",
788
+ textQuaternary: "#6C7086",
789
+ textLight: "#45475A",
790
+ placeholder: "#6C7086",
791
+ border: "#313244",
792
+ borderHover: "#45475A",
793
+ borderLight: "#181825",
794
+ messageBackground: "#181825",
795
+ codeBackground: "#11111B",
796
+ shadowLight: "rgba(17,17,27,0.22)",
797
+ shadowMedium: "rgba(17,17,27,0.36)",
798
+ shadowHeavy: "rgba(17,17,27,0.52)",
799
+ textHeading: "#CDD6F4",
800
+ textOnPrimary: "#1E1E2E"
801
801
  }
802
802
  };
803
803
 
@@ -1594,7 +1594,7 @@ var selectTheme = createSelector(
1594
1594
  surface: c.backgroundSecondary,
1595
1595
  surfaceElevated: c.backgroundTertiary,
1596
1596
  surfaceCanvas: c.background,
1597
- surfaceSidebar: isDark ? c.backgroundSecondary : c.background,
1597
+ surfaceSidebar: c.background,
1598
1598
  surfacePanel: c.backgroundSecondary,
1599
1599
  surfaceCard: c.messageBackground,
1600
1600
  surfaceRaised: isDark ? c.backgroundTertiary : c.backgroundSecondary,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MODEL_LOOKUP_MAP
3
- } from "./chunk-S3UTETIC.js";
3
+ } from "./chunk-OGGHETUE.js";
4
4
  import {
5
5
  compactWhitespace
6
6
  } from "./chunk-DWLEOOGR.js";
@@ -9,10 +9,10 @@ import {
9
9
  } from "./chunk-IKXL2HZ3.js";
10
10
  import {
11
11
  addContentAction
12
- } from "./chunk-3HHTVM6G.js";
12
+ } from "./chunk-WVTBAALN.js";
13
13
  import {
14
14
  upload
15
- } from "./chunk-NITP2JDG.js";
15
+ } from "./chunk-VKG4HXYV.js";
16
16
  import {
17
17
  getRuntimeServerContext
18
18
  } from "./chunk-TSUJOM6N.js";
@@ -81,6 +81,21 @@ var anthropicModels = [
81
81
  // packages/integrations/qwen/models.ts
82
82
  var qwenModels = [
83
83
  // ── Qwen3 旗舰 ──
84
+ {
85
+ name: "qwen3.8-max",
86
+ displayName: "Qwen3.8 Max",
87
+ hasVision: true,
88
+ contextWindow: 1e6,
89
+ maxOutputTokens: 131072,
90
+ jsonOutput: true,
91
+ fnCall: true,
92
+ supportsTool: true,
93
+ supportsReasoningEffort: true,
94
+ // 官方价:输入 ¥12/M、输出 ¥36/M;缓存命中 ¥1.5/M、显式缓存创建 ¥15/M、显式缓存命中 ¥1/M。
95
+ price: { input: 12, output: 36 },
96
+ provider: "qwen",
97
+ description: "2.4\u4E07\u4EBF\u53C2\u6570 MoE \u65D7\u8230\uFF0C1M \u4E0A\u4E0B\u6587\uFF08\u8F93\u5165 991K / \u8F93\u51FA 131K / \u601D\u7EF4\u94FE 262K\uFF09\uFF0C\u539F\u751F\u89C6\u89C9\u7406\u89E3\u8D2F\u7A7F\u89C4\u5212-\u6267\u884C-\u9A8C\u8BC1\uFF0C\u81EA\u4E3B\u7F16\u7A0B\u53EF\u4EA4\u4ED8\u5B8C\u6574\u9879\u76EE\u3002"
98
+ },
84
99
  {
85
100
  name: "qwen3-max",
86
101
  displayName: "Qwen3 Max",
@@ -246,18 +261,18 @@ var qwenModels = [
246
261
  var qwenTokenPlanModels = [
247
262
  // ── 千问 ──
248
263
  {
249
- name: "qwen3.8-max-preview",
250
- displayName: "Qwen3.8 Max Preview",
264
+ name: "qwen3.8-max",
265
+ displayName: "Qwen3.8 Max",
251
266
  hasVision: true,
252
267
  contextWindow: 1e6,
253
- maxOutputTokens: 32768,
268
+ maxOutputTokens: 131072,
254
269
  jsonOutput: true,
255
270
  fnCall: true,
256
271
  supportsTool: true,
257
272
  supportsReasoningEffort: true,
258
273
  price: { input: 0, output: 0 },
259
274
  provider: "qwen",
260
- description: "\u63A8\u7406\u6A21\u578B\u3001\u89C6\u89C9\u7406\u89E3\u3001\u6587\u672C\u751F\u6210\uFF08\u9884\u89C8\u7248\uFF09\u3002"
275
+ description: "2.4\u4E07\u4EBF\u53C2\u6570 MoE \u65D7\u8230\uFF0C\u63A8\u7406\u3001\u89C6\u89C9\u7406\u89E3\u3001\u6587\u672C\u751F\u6210\uFF1B1M \u4E0A\u4E0B\u6587\u3001131K \u8F93\u51FA\u3001262K \u601D\u7EF4\u94FE\u3002"
261
276
  },
262
277
  {
263
278
  name: "qwen3.7-max",
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  i18n_default,
3
3
  toolRegistry
4
- } from "./chunk-TZS6YZTS.js";
4
+ } from "./chunk-QTNKHFAK.js";
5
5
  import {
6
6
  canonicalizeToolNames
7
- } from "./chunk-5DVIMRVT.js";
7
+ } from "./chunk-B4KT7RN2.js";
8
8
  import {
9
9
  asTrimmedLowercaseString
10
10
  } from "./chunk-QSJ3HFEF.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_AGENT_BASE_POLICY,
3
3
  DEFAULT_USER_PREFERENCE_PROFILE
4
- } from "./chunk-WTYKCU4W.js";
4
+ } from "./chunk-JU7J7EAV.js";
5
5
 
6
6
  // packages/ai/policy/runtimePolicy.ts
7
7
  var clampLevel = (value, fallback) => {