nolo-cli 0.15.0 → 0.16.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 (35) hide show
  1. package/{agentDeleteCommand-QDO62EZA.js → agentDeleteCommand-365DMKHW.js} +4 -4
  2. package/{agentEmailCommands-UZ5BKX3P.js → agentEmailCommands-TQMXL36I.js} +5 -5
  3. package/{agentListCommands-ZC33UDWT.js → agentListCommands-6B5X4RC6.js} +5 -5
  4. package/{agentMachineCommands-RZGZEZRL.js → agentMachineCommands-LOEARB6V.js} +4 -4
  5. package/{agentRecordCommands-DGDXE2VH.js → agentRecordCommands-DCH2WBL2.js} +5 -5
  6. package/{agentRunCommand-SRZWFOPH.js → agentRunCommand-SGMH67WT.js} +5 -5
  7. package/{agentRuntimeLocal-4YCF6IRF.js → agentRuntimeLocal-YSYZ33ER.js} +1 -1
  8. package/{appDeleteCommands-7I26L64I.js → appDeleteCommands-6QYOO3JB.js} +5 -5
  9. package/{appDeployCommands-TZLZNTJN.js → appDeployCommands-WTCT6XO6.js} +5 -5
  10. package/{appDeployStatusCommands-OPPTLHRW.js → appDeployStatusCommands-CGWGZJKB.js} +5 -5
  11. package/{appGetCommands-N2S4HYKY.js → appGetCommands-O4OCAMRW.js} +5 -5
  12. package/{appListCommands-OBTPPKUM.js → appListCommands-UENFP4XY.js} +5 -5
  13. package/{chunk-K53477EY.js → chunk-4NLUNENX.js} +1 -1
  14. package/{chunk-JBKVPAYK.js → chunk-E237VE6U.js} +1 -1
  15. package/{chunk-P4MJQWWF.js → chunk-EMXI3N3Z.js} +2 -2
  16. package/{chunk-IZ2QRVEU.js → chunk-GRTFNYLR.js} +2 -2
  17. package/{chunk-NTC6I2FN.js → chunk-I66RU7P7.js} +1 -1
  18. package/{chunk-472E5RMQ.js → chunk-J55UHASN.js} +1 -1
  19. package/{chunk-AWDOJBHW.js → chunk-QLFCNUVQ.js} +12 -4
  20. package/{chunk-IOQ7IBPU.js → chunk-QZVGMD5F.js} +1 -1
  21. package/{chunk-OKSYPTDZ.js → chunk-RSYUDGGZ.js} +1 -1
  22. package/{chunk-UXKQQ2MR.js → chunk-WPN6RMDF.js} +1 -1
  23. package/{chunk-5VMYGIIL.js → chunk-YC3DJILJ.js} +1 -1
  24. package/{chunk-XGQZFBO5.js → chunk-YYIRR6QC.js} +13 -5
  25. package/{dialogCommands-3GEPXHFB.js → dialogCommands-ZL6L24BS.js} +5 -5
  26. package/{docCreateCommands-ZE3S6BCP.js → docCreateCommands-LYROQTFH.js} +4 -4
  27. package/{docDeleteCommands-TW6PGTRT.js → docDeleteCommands-6TWGTZNR.js} +5 -5
  28. package/{docReadCommands-LDXL3B6J.js → docReadCommands-PRULNF26.js} +4 -4
  29. package/{docUpdateCommands-GYD6XI5O.js → docUpdateCommands-NNYYWJBI.js} +4 -4
  30. package/index.js +40 -40
  31. package/{machineCommands-OKNDYS3M.js → machineCommands-JQPEQFSE.js} +4 -4
  32. package/{machineWsRunDispatch-ZX5AJ6FJ.js → machineWsRunDispatch-FFFNWVEW.js} +4 -4
  33. package/package.json +1 -1
  34. package/{readlineWorkspace-MB3ANKHM.js → readlineWorkspace-QSXHSBHA.js} +96 -10
  35. package/{spaceCommands-O3KJNCON.js → spaceCommands-4LE45GB7.js} +4 -4
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  deleteDbRecordOnServers
3
- } from "./chunk-472E5RMQ.js";
3
+ } from "./chunk-J55UHASN.js";
4
4
  import {
5
5
  getReadableCliDb
6
6
  } from "./chunk-W4NVOSFF.js";
7
7
  import {
8
8
  resolveAgentRecordFromHybridStore
9
- } from "./chunk-K53477EY.js";
10
- import "./chunk-IOQ7IBPU.js";
9
+ } from "./chunk-4NLUNENX.js";
10
+ import "./chunk-QZVGMD5F.js";
11
11
  import {
12
12
  resolveCliAgentKeyInput
13
13
  } from "./chunk-VHBWHNVT.js";
14
14
  import "./chunk-KQHGZWSV.js";
15
- import "./chunk-5VMYGIIL.js";
15
+ import "./chunk-YC3DJILJ.js";
16
16
  import "./chunk-WA6KZL5V.js";
17
17
  import "./chunk-ZNFJWEN4.js";
18
18
  import "./chunk-OIQPORYI.js";
@@ -8,8 +8,8 @@ import {
8
8
  } from "./chunk-DZ3XJVET.js";
9
9
  import {
10
10
  runAgentCreateCommand
11
- } from "./chunk-P4MJQWWF.js";
12
- import "./chunk-AWDOJBHW.js";
11
+ } from "./chunk-EMXI3N3Z.js";
12
+ import "./chunk-QLFCNUVQ.js";
13
13
  import "./chunk-EHLHSX7R.js";
14
14
  import {
15
15
  getReadableCliDb
@@ -17,8 +17,8 @@ import {
17
17
  import {
18
18
  fetchWithTransportFallback,
19
19
  resolveAgentRecordFromHybridStore
20
- } from "./chunk-K53477EY.js";
21
- import "./chunk-IOQ7IBPU.js";
20
+ } from "./chunk-4NLUNENX.js";
21
+ import "./chunk-QZVGMD5F.js";
22
22
  import {
23
23
  resolveCliAgentKeyInput
24
24
  } from "./chunk-VHBWHNVT.js";
@@ -49,7 +49,7 @@ import "./chunk-SOTZ6RDN.js";
49
49
  import "./chunk-Z4NR32XR.js";
50
50
  import "./chunk-M76ECQRD.js";
51
51
  import "./chunk-WZSRQNQG.js";
52
- import "./chunk-5VMYGIIL.js";
52
+ import "./chunk-YC3DJILJ.js";
53
53
  import "./chunk-WA6KZL5V.js";
54
54
  import "./chunk-ZNFJWEN4.js";
55
55
  import "./chunk-OIQPORYI.js";
@@ -7,29 +7,29 @@ import {
7
7
  normalizeListedAgent,
8
8
  parseAgentListArgs,
9
9
  toSafeListedAgentSummary
10
- } from "./chunk-IZ2QRVEU.js";
10
+ } from "./chunk-GRTFNYLR.js";
11
11
  import {
12
12
  buildSpaceLookup,
13
13
  getSpaceContentKeys
14
14
  } from "./chunk-ID4G2MAR.js";
15
15
  import {
16
16
  readLiveDbRecordAfterTombstoneMerge
17
- } from "./chunk-472E5RMQ.js";
17
+ } from "./chunk-J55UHASN.js";
18
18
  import {
19
19
  getReadableCliDb
20
20
  } from "./chunk-W4NVOSFF.js";
21
21
  import {
22
22
  queryUserRecords,
23
23
  readDbRecord
24
- } from "./chunk-K53477EY.js";
25
- import "./chunk-IOQ7IBPU.js";
24
+ } from "./chunk-4NLUNENX.js";
25
+ import "./chunk-QZVGMD5F.js";
26
26
  import "./chunk-VHBWHNVT.js";
27
27
  import {
28
28
  sortSafeAgentSummaries,
29
29
  toSafeAgentSummary
30
30
  } from "./chunk-OOIN7HSO.js";
31
31
  import "./chunk-KQHGZWSV.js";
32
- import "./chunk-5VMYGIIL.js";
32
+ import "./chunk-YC3DJILJ.js";
33
33
  import "./chunk-WA6KZL5V.js";
34
34
  import "./chunk-ZNFJWEN4.js";
35
35
  import "./chunk-OIQPORYI.js";
@@ -8,13 +8,13 @@ import {
8
8
  readAgentRecord,
9
9
  resolveAgentRecordFromHybridStore,
10
10
  writeAgentRecord
11
- } from "./chunk-K53477EY.js";
12
- import "./chunk-IOQ7IBPU.js";
11
+ } from "./chunk-4NLUNENX.js";
12
+ import "./chunk-QZVGMD5F.js";
13
13
  import {
14
14
  resolveCliAgentKeyInput
15
15
  } from "./chunk-VHBWHNVT.js";
16
16
  import "./chunk-RQSOAMPJ.js";
17
- import "./chunk-5VMYGIIL.js";
17
+ import "./chunk-YC3DJILJ.js";
18
18
  import "./chunk-WA6KZL5V.js";
19
19
  import "./chunk-ZNFJWEN4.js";
20
20
  import "./chunk-OIQPORYI.js";
@@ -76,7 +76,7 @@ async function defaultExecuteCli(provider, prompt, options) {
76
76
  return executeCli(provider, prompt, options);
77
77
  }
78
78
  async function forwardConnectorRunMessage(machine, message, pushMessage, executeCli, env, fetchImpl) {
79
- const { handleConnectorRunMessage } = await import("./machineWsRunDispatch-ZX5AJ6FJ.js");
79
+ const { handleConnectorRunMessage } = await import("./machineWsRunDispatch-FFFNWVEW.js");
80
80
  return handleConnectorRunMessage(message, pushMessage, executeCli, env, fetchImpl);
81
81
  }
82
82
  async function detectLaunchableMachineInfo() {
@@ -2,12 +2,12 @@ import {
2
2
  runAgentCreateCommand,
3
3
  runAgentReadCommand,
4
4
  runAgentUpdateCommand
5
- } from "./chunk-P4MJQWWF.js";
6
- import "./chunk-AWDOJBHW.js";
5
+ } from "./chunk-EMXI3N3Z.js";
6
+ import "./chunk-QLFCNUVQ.js";
7
7
  import "./chunk-EHLHSX7R.js";
8
8
  import "./chunk-W4NVOSFF.js";
9
- import "./chunk-K53477EY.js";
10
- import "./chunk-IOQ7IBPU.js";
9
+ import "./chunk-4NLUNENX.js";
10
+ import "./chunk-QZVGMD5F.js";
11
11
  import "./chunk-VHBWHNVT.js";
12
12
  import "./chunk-WNLPAOIT.js";
13
13
  import "./chunk-WRN5EQT7.js";
@@ -36,7 +36,7 @@ import "./chunk-SOTZ6RDN.js";
36
36
  import "./chunk-Z4NR32XR.js";
37
37
  import "./chunk-M76ECQRD.js";
38
38
  import "./chunk-WZSRQNQG.js";
39
- import "./chunk-5VMYGIIL.js";
39
+ import "./chunk-YC3DJILJ.js";
40
40
  import "./chunk-WA6KZL5V.js";
41
41
  import "./chunk-ZNFJWEN4.js";
42
42
  import "./chunk-OIQPORYI.js";
@@ -6,16 +6,16 @@ import {
6
6
  prependSubjectDialogMarker,
7
7
  resolveWorkflowReference,
8
8
  runAgentRunCommand
9
- } from "./chunk-XGQZFBO5.js";
9
+ } from "./chunk-YYIRR6QC.js";
10
10
  import {
11
11
  parseAgentRunArgs
12
12
  } from "./chunk-DZ3XJVET.js";
13
13
  import "./chunk-6HYVJV7B.js";
14
- import "./chunk-AWDOJBHW.js";
14
+ import "./chunk-QLFCNUVQ.js";
15
15
  import "./chunk-EHLHSX7R.js";
16
16
  import "./chunk-W4NVOSFF.js";
17
- import "./chunk-K53477EY.js";
18
- import "./chunk-IOQ7IBPU.js";
17
+ import "./chunk-4NLUNENX.js";
18
+ import "./chunk-QZVGMD5F.js";
19
19
  import "./chunk-VHBWHNVT.js";
20
20
  import "./chunk-LTRXGFMS.js";
21
21
  import "./chunk-WNLPAOIT.js";
@@ -47,7 +47,7 @@ import "./chunk-Z4NR32XR.js";
47
47
  import "./chunk-M76ECQRD.js";
48
48
  import "./chunk-AS3ZQ3O2.js";
49
49
  import "./chunk-WZSRQNQG.js";
50
- import "./chunk-5VMYGIIL.js";
50
+ import "./chunk-YC3DJILJ.js";
51
51
  import "./chunk-WA6KZL5V.js";
52
52
  import "./chunk-ZNFJWEN4.js";
53
53
  import "./chunk-OIQPORYI.js";
@@ -18,7 +18,7 @@ import {
18
18
  resolveOpenAiCompatibleProviderConfig,
19
19
  shouldCacheHybridRemoteRecord,
20
20
  shouldFetchAgentRuntimeRecordRemotely
21
- } from "./chunk-5VMYGIIL.js";
21
+ } from "./chunk-YC3DJILJ.js";
22
22
  import {
23
23
  buildPlatformChatCompletionRequest,
24
24
  canUsePlatformChatProvider,
@@ -4,16 +4,16 @@ import {
4
4
  pickDefined,
5
5
  printCliError,
6
6
  resolveCliContext
7
- } from "./chunk-NTC6I2FN.js";
7
+ } from "./chunk-I66RU7P7.js";
8
8
  import {
9
9
  hasFlag,
10
10
  hasHelpArg
11
- } from "./chunk-JBKVPAYK.js";
12
- import "./chunk-K53477EY.js";
13
- import "./chunk-IOQ7IBPU.js";
11
+ } from "./chunk-E237VE6U.js";
12
+ import "./chunk-4NLUNENX.js";
13
+ import "./chunk-QZVGMD5F.js";
14
14
  import "./chunk-VHBWHNVT.js";
15
15
  import "./chunk-VF4K2QE6.js";
16
- import "./chunk-5VMYGIIL.js";
16
+ import "./chunk-YC3DJILJ.js";
17
17
  import "./chunk-WA6KZL5V.js";
18
18
  import "./chunk-ZNFJWEN4.js";
19
19
  import "./chunk-OIQPORYI.js";
@@ -5,16 +5,16 @@ import {
5
5
  pickDefined,
6
6
  printCliError,
7
7
  resolveCliContext
8
- } from "./chunk-NTC6I2FN.js";
8
+ } from "./chunk-I66RU7P7.js";
9
9
  import {
10
10
  hasFlag,
11
11
  hasHelpArg
12
- } from "./chunk-JBKVPAYK.js";
13
- import "./chunk-K53477EY.js";
14
- import "./chunk-IOQ7IBPU.js";
12
+ } from "./chunk-E237VE6U.js";
13
+ import "./chunk-4NLUNENX.js";
14
+ import "./chunk-QZVGMD5F.js";
15
15
  import "./chunk-VHBWHNVT.js";
16
16
  import "./chunk-VF4K2QE6.js";
17
- import "./chunk-5VMYGIIL.js";
17
+ import "./chunk-YC3DJILJ.js";
18
18
  import "./chunk-WA6KZL5V.js";
19
19
  import "./chunk-ZNFJWEN4.js";
20
20
  import "./chunk-OIQPORYI.js";
@@ -4,16 +4,16 @@ import {
4
4
  outputResult,
5
5
  printCliError,
6
6
  resolveCliContext
7
- } from "./chunk-NTC6I2FN.js";
7
+ } from "./chunk-I66RU7P7.js";
8
8
  import {
9
9
  hasFlag,
10
10
  hasHelpArg
11
- } from "./chunk-JBKVPAYK.js";
12
- import "./chunk-K53477EY.js";
13
- import "./chunk-IOQ7IBPU.js";
11
+ } from "./chunk-E237VE6U.js";
12
+ import "./chunk-4NLUNENX.js";
13
+ import "./chunk-QZVGMD5F.js";
14
14
  import "./chunk-VHBWHNVT.js";
15
15
  import "./chunk-VF4K2QE6.js";
16
- import "./chunk-5VMYGIIL.js";
16
+ import "./chunk-YC3DJILJ.js";
17
17
  import "./chunk-WA6KZL5V.js";
18
18
  import "./chunk-ZNFJWEN4.js";
19
19
  import "./chunk-OIQPORYI.js";
@@ -5,16 +5,16 @@ import {
5
5
  pickDefined,
6
6
  printCliError,
7
7
  resolveCliContext
8
- } from "./chunk-NTC6I2FN.js";
8
+ } from "./chunk-I66RU7P7.js";
9
9
  import {
10
10
  hasFlag,
11
11
  hasHelpArg
12
- } from "./chunk-JBKVPAYK.js";
13
- import "./chunk-K53477EY.js";
14
- import "./chunk-IOQ7IBPU.js";
12
+ } from "./chunk-E237VE6U.js";
13
+ import "./chunk-4NLUNENX.js";
14
+ import "./chunk-QZVGMD5F.js";
15
15
  import "./chunk-VHBWHNVT.js";
16
16
  import "./chunk-VF4K2QE6.js";
17
- import "./chunk-5VMYGIIL.js";
17
+ import "./chunk-YC3DJILJ.js";
18
18
  import "./chunk-WA6KZL5V.js";
19
19
  import "./chunk-ZNFJWEN4.js";
20
20
  import "./chunk-OIQPORYI.js";
@@ -5,16 +5,16 @@ import {
5
5
  pickDefined,
6
6
  printCliError,
7
7
  resolveCliContext
8
- } from "./chunk-NTC6I2FN.js";
8
+ } from "./chunk-I66RU7P7.js";
9
9
  import {
10
10
  hasFlag,
11
11
  hasHelpArg
12
- } from "./chunk-JBKVPAYK.js";
13
- import "./chunk-K53477EY.js";
14
- import "./chunk-IOQ7IBPU.js";
12
+ } from "./chunk-E237VE6U.js";
13
+ import "./chunk-4NLUNENX.js";
14
+ import "./chunk-QZVGMD5F.js";
15
15
  import "./chunk-VHBWHNVT.js";
16
16
  import "./chunk-VF4K2QE6.js";
17
- import "./chunk-5VMYGIIL.js";
17
+ import "./chunk-YC3DJILJ.js";
18
18
  import "./chunk-WA6KZL5V.js";
19
19
  import "./chunk-ZNFJWEN4.js";
20
20
  import "./chunk-OIQPORYI.js";
@@ -2,7 +2,7 @@ import {
2
2
  buildLocalAgentLookupKeys,
3
3
  normalizeAgentHandle,
4
4
  shouldReadAgentKeyRemotely
5
- } from "./chunk-IOQ7IBPU.js";
5
+ } from "./chunk-QZVGMD5F.js";
6
6
  import {
7
7
  resolveCliAgentKeyInput
8
8
  } from "./chunk-VHBWHNVT.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  readDbRecord,
3
3
  writeAgentRecord
4
- } from "./chunk-K53477EY.js";
4
+ } from "./chunk-4NLUNENX.js";
5
5
  import {
6
6
  buildSkillSummaryMarker
7
7
  } from "./chunk-VF4K2QE6.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  clearCliLocalRuntimePreparedAgentCache
3
- } from "./chunk-AWDOJBHW.js";
3
+ } from "./chunk-QLFCNUVQ.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-K53477EY.js";
15
+ } from "./chunk-4NLUNENX.js";
16
16
  import {
17
17
  resolveCliAgentKeyInput
18
18
  } from "./chunk-VHBWHNVT.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  listUserRecordsFromServers,
3
3
  readLiveDbRecordAfterTombstoneMerge
4
- } from "./chunk-472E5RMQ.js";
4
+ } from "./chunk-J55UHASN.js";
5
5
  import {
6
6
  agentRecordHasConfiguredCredential
7
- } from "./chunk-K53477EY.js";
7
+ } from "./chunk-4NLUNENX.js";
8
8
  import {
9
9
  toSafeAgentSummary
10
10
  } from "./chunk-OOIN7HSO.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  requireTokenUser
3
- } from "./chunk-JBKVPAYK.js";
3
+ } from "./chunk-E237VE6U.js";
4
4
  import {
5
5
  resolveServerUrl
6
6
  } from "./chunk-A7GB5UGH.js";
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-K53477EY.js";
5
+ } from "./chunk-4NLUNENX.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-KQHGZWSV.js";
@@ -8,7 +8,7 @@ import {
8
8
  buildLocalAgentLookupKeys,
9
9
  normalizeAgentHandle,
10
10
  shouldReadAgentKeyRemotely
11
- } from "./chunk-IOQ7IBPU.js";
11
+ } from "./chunk-QZVGMD5F.js";
12
12
  import {
13
13
  LOCAL_CODEX_AGENT_ID,
14
14
  LOCAL_CODEX_AGENT_KEY,
@@ -78,7 +78,7 @@ import {
78
78
  parseSseDataLineJson,
79
79
  readOpenAiCompatibleSseCompletion,
80
80
  resolveOpenAiCompatibleProviderConfig
81
- } from "./chunk-5VMYGIIL.js";
81
+ } from "./chunk-YC3DJILJ.js";
82
82
  import {
83
83
  buildPlatformChatCompletionRequest,
84
84
  canUsePlatformChatProvider,
@@ -764,8 +764,8 @@ Use /switch, /switch list, /switch minimax-m3, or a full agent key.`,
764
764
  },
765
765
  themeCurrent: { en: "Current theme: {0} \xB7 {1}", zh: "\u5F53\u524D\u4E3B\u9898\uFF1A{0} \xB7 {1}" },
766
766
  themeUsage: {
767
- en: "Usage: /theme <name> | /theme light | /theme dark",
768
- zh: "\u7528\u6CD5\uFF1A/theme <name> | /theme light | /theme dark"
767
+ en: "Usage: /theme <name> | /theme light | /theme dark | /theme refresh",
768
+ zh: "\u7528\u6CD5\uFF1A/theme <name> | /theme light | /theme dark | /theme refresh"
769
769
  },
770
770
  themeAvailable: { en: "Available themes: {0}", zh: "\u53EF\u7528\u4E3B\u9898\uFF1A{0}" },
771
771
  themeBrightnessSwitched: { en: "Switched to {0} background colors.", zh: "\u5DF2\u5207\u6362\u5230 {0} \u80CC\u666F\u8272\u3002" },
@@ -773,6 +773,14 @@ Use /switch, /switch list, /switch minimax-m3, or a full agent key.`,
773
773
  en: "Background colors follow terminal detection (now: {0}).",
774
774
  zh: "\u80CC\u666F\u8272\u8DDF\u968F\u7EC8\u7AEF\u81EA\u52A8\u68C0\u6D4B\uFF08\u5F53\u524D\uFF1A{0}\uFF09\u3002"
775
775
  },
776
+ themeRefreshed: {
777
+ en: "Re-detected terminal background: {0}.",
778
+ zh: "\u5DF2\u91CD\u65B0\u68C0\u6D4B\u7EC8\u7AEF\u80CC\u666F\uFF1A{0}\u3002"
779
+ },
780
+ themeRefreshFailed: {
781
+ en: "Could not detect terminal background (not a TTY or no response).",
782
+ zh: "\u65E0\u6CD5\u68C0\u6D4B\u7EC8\u7AEF\u80CC\u666F\uFF08\u975E TTY \u6216\u7EC8\u7AEF\u65E0\u54CD\u5E94\uFF09\u3002"
783
+ },
776
784
  themeSwitched: { en: "Switched to theme: {0}", zh: "\u5DF2\u5207\u6362\u5230\u4E3B\u9898\uFF1A{0}" },
777
785
  themeUnknown: { en: "Unknown theme: {0}. Available themes: {1}", zh: "\u672A\u77E5\u4E3B\u9898\uFF1A{0}\u3002\u53EF\u7528\u4E3B\u9898\uFF1A{1}" },
778
786
  densityCurrent: {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-5VMYGIIL.js";
4
+ } from "./chunk-YC3DJILJ.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -7,7 +7,7 @@ import {
7
7
  listUserRecordsFromServers,
8
8
  readDbRecordFromServers,
9
9
  readLiveDbRecordAfterTombstoneMerge
10
- } from "./chunk-472E5RMQ.js";
10
+ } from "./chunk-J55UHASN.js";
11
11
  import {
12
12
  buildDialogAttachmentPlan,
13
13
  extractFileContentIds
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-AWDOJBHW.js";
4
+ } from "./chunk-QLFCNUVQ.js";
5
5
  import {
6
6
  clipMultilineText
7
7
  } from "./chunk-VE6XMVKG.js";
@@ -2078,7 +2078,7 @@ function collectIntegerArg(args) {
2078
2078
  var LINES_ARG_SYNTAX = '"40-120", "120-", "-50", or "50"';
2079
2079
  var LINES_RANGE_FORMAT = /^(\d+)?\s*-\s*(\d+)?$/;
2080
2080
  function parseLinesArg(value) {
2081
- const text = typeof value === "string" ? value.trim() : "";
2081
+ const text = asTrimmedString(value);
2082
2082
  if (!text) {
2083
2083
  return {
2084
2084
  warning: `Ignored lines: expected ${LINES_ARG_SYNTAX}, received ${describeRejectedArgValue(value)}.`
@@ -18,17 +18,17 @@ import {
18
18
  isBuiltinNoloAgentRef,
19
19
  t,
20
20
  toolLabel
21
- } from "./chunk-AWDOJBHW.js";
21
+ } from "./chunk-QLFCNUVQ.js";
22
22
  import {
23
23
  getReadableCliDb
24
24
  } from "./chunk-W4NVOSFF.js";
25
25
  import {
26
26
  readDbRecord,
27
27
  resolveAgentRecordFromHybridStore
28
- } from "./chunk-K53477EY.js";
28
+ } from "./chunk-4NLUNENX.js";
29
29
  import {
30
30
  normalizeAgentHandle
31
- } from "./chunk-IOQ7IBPU.js";
31
+ } from "./chunk-QZVGMD5F.js";
32
32
  import {
33
33
  NOLO_PROJECT_MANAGER_AGENT_KEY,
34
34
  isLocalCliAgentKey
@@ -998,6 +998,13 @@ function setActiveTerminalBaseHex(hex) {
998
998
  }
999
999
  activeTerminalBaseHex = readHexChannels(hex.replace(/^#/, "").toUpperCase()) ? hex.replace(/^#/, "").toUpperCase() : null;
1000
1000
  }
1001
+ function applyDetectedBackground(detected) {
1002
+ const normalizedHex = detected.hex.replace(/^#/, "").toUpperCase();
1003
+ const changed = detected.brightness !== activeBrightness || normalizedHex !== activeTerminalBaseHex;
1004
+ setActiveBrightness(detected.brightness);
1005
+ setActiveTerminalBaseHex(detected.hex);
1006
+ return changed;
1007
+ }
1001
1008
  function resolveTerminalBaseHex(brightness) {
1002
1009
  return activeTerminalBaseHex ?? TERMINAL_BASE[brightness];
1003
1010
  }
@@ -3550,7 +3557,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
3550
3557
  // packages/cli/client/agentRun.ts
3551
3558
  import { ulid } from "ulid";
3552
3559
  async function loadRunLocalAgentTurn() {
3553
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-4YCF6IRF.js");
3560
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-YSYZ33ER.js");
3554
3561
  return runLocalAgentTurn;
3555
3562
  }
3556
3563
  async function resolveCurrentMachineId(options) {
@@ -3986,7 +3993,7 @@ async function runLocalAgentTurnForCli(options, settings) {
3986
3993
  } : void 0;
3987
3994
  const currentDialogId = options.continueDialogId ?? ulid();
3988
3995
  const runChildTurn = async (input) => {
3989
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-4YCF6IRF.js");
3996
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-YSYZ33ER.js");
3990
3997
  return runLocalAgentTurn(input);
3991
3998
  };
3992
3999
  const createFreshChildBaseAdapter = () => {
@@ -5336,6 +5343,7 @@ export {
5336
5343
  setActiveDensity,
5337
5344
  resolveTuiBrightness,
5338
5345
  setActiveTerminalBaseHex,
5346
+ applyDetectedBackground,
5339
5347
  surfaceBackgroundSequence,
5340
5348
  themeColorSequence,
5341
5349
  themeText,
@@ -8,15 +8,15 @@ import {
8
8
  runDialogReadCommand,
9
9
  runDialogStatusCommand,
10
10
  sortDialogs
11
- } from "./chunk-OKSYPTDZ.js";
11
+ } from "./chunk-RSYUDGGZ.js";
12
12
  import "./chunk-ID4G2MAR.js";
13
- import "./chunk-472E5RMQ.js";
14
- import "./chunk-K53477EY.js";
15
- import "./chunk-IOQ7IBPU.js";
13
+ import "./chunk-J55UHASN.js";
14
+ import "./chunk-4NLUNENX.js";
15
+ import "./chunk-QZVGMD5F.js";
16
16
  import "./chunk-VHBWHNVT.js";
17
17
  import "./chunk-KQHGZWSV.js";
18
18
  import "./chunk-MTU75CZ2.js";
19
- import "./chunk-5VMYGIIL.js";
19
+ import "./chunk-YC3DJILJ.js";
20
20
  import "./chunk-WA6KZL5V.js";
21
21
  import "./chunk-ZNFJWEN4.js";
22
22
  import "./chunk-OIQPORYI.js";
@@ -21,14 +21,14 @@ import {
21
21
  resolveDocKind,
22
22
  resolveWriteTargets,
23
23
  writePageRecord
24
- } from "./chunk-JBKVPAYK.js";
25
- import "./chunk-K53477EY.js";
26
- import "./chunk-IOQ7IBPU.js";
24
+ } from "./chunk-E237VE6U.js";
25
+ import "./chunk-4NLUNENX.js";
26
+ import "./chunk-QZVGMD5F.js";
27
27
  import "./chunk-VHBWHNVT.js";
28
28
  import "./chunk-VF4K2QE6.js";
29
29
  import "./chunk-VC6OZXO5.js";
30
30
  import "./chunk-WZSRQNQG.js";
31
- import "./chunk-5VMYGIIL.js";
31
+ import "./chunk-YC3DJILJ.js";
32
32
  import "./chunk-WA6KZL5V.js";
33
33
  import "./chunk-ZNFJWEN4.js";
34
34
  import "./chunk-OIQPORYI.js";
@@ -10,18 +10,18 @@ import {
10
10
  requireTokenUser,
11
11
  resolveDocKind,
12
12
  resolveWriteTargets
13
- } from "./chunk-JBKVPAYK.js";
13
+ } from "./chunk-E237VE6U.js";
14
14
  import {
15
15
  deleteDbRecordOnServers
16
- } from "./chunk-472E5RMQ.js";
17
- import "./chunk-K53477EY.js";
18
- import "./chunk-IOQ7IBPU.js";
16
+ } from "./chunk-J55UHASN.js";
17
+ import "./chunk-4NLUNENX.js";
18
+ import "./chunk-QZVGMD5F.js";
19
19
  import "./chunk-VHBWHNVT.js";
20
20
  import "./chunk-KQHGZWSV.js";
21
21
  import "./chunk-VF4K2QE6.js";
22
22
  import "./chunk-VC6OZXO5.js";
23
23
  import "./chunk-WZSRQNQG.js";
24
- import "./chunk-5VMYGIIL.js";
24
+ import "./chunk-YC3DJILJ.js";
25
25
  import "./chunk-WA6KZL5V.js";
26
26
  import "./chunk-ZNFJWEN4.js";
27
27
  import "./chunk-OIQPORYI.js";
@@ -9,14 +9,14 @@ import {
9
9
  requireTokenUser,
10
10
  resolveDocKind,
11
11
  resolveWriteTargets
12
- } from "./chunk-JBKVPAYK.js";
13
- import "./chunk-K53477EY.js";
14
- import "./chunk-IOQ7IBPU.js";
12
+ } from "./chunk-E237VE6U.js";
13
+ import "./chunk-4NLUNENX.js";
14
+ import "./chunk-QZVGMD5F.js";
15
15
  import "./chunk-VHBWHNVT.js";
16
16
  import "./chunk-VF4K2QE6.js";
17
17
  import "./chunk-VC6OZXO5.js";
18
18
  import "./chunk-WZSRQNQG.js";
19
- import "./chunk-5VMYGIIL.js";
19
+ import "./chunk-YC3DJILJ.js";
20
20
  import "./chunk-WA6KZL5V.js";
21
21
  import "./chunk-ZNFJWEN4.js";
22
22
  import "./chunk-OIQPORYI.js";
@@ -20,9 +20,9 @@ import {
20
20
  resolveDocKind,
21
21
  resolveWriteTargets,
22
22
  writePageRecord
23
- } from "./chunk-JBKVPAYK.js";
24
- import "./chunk-K53477EY.js";
25
- import "./chunk-IOQ7IBPU.js";
23
+ } from "./chunk-E237VE6U.js";
24
+ import "./chunk-4NLUNENX.js";
25
+ import "./chunk-QZVGMD5F.js";
26
26
  import "./chunk-VHBWHNVT.js";
27
27
  import "./chunk-VF4K2QE6.js";
28
28
  import {
@@ -30,7 +30,7 @@ import {
30
30
  resolvePageSkillMetadata
31
31
  } from "./chunk-VC6OZXO5.js";
32
32
  import "./chunk-WZSRQNQG.js";
33
- import "./chunk-5VMYGIIL.js";
33
+ import "./chunk-YC3DJILJ.js";
34
34
  import "./chunk-WA6KZL5V.js";
35
35
  import "./chunk-ZNFJWEN4.js";
36
36
  import "./chunk-OIQPORYI.js";
package/index.js CHANGED
@@ -126,7 +126,7 @@ function createDaemonShortcutCommand(path, description, command2) {
126
126
  // packages/cli/agentInternalCommandEntries.ts
127
127
  function getAgentInternalCommandEntries() {
128
128
  const createAgentRunCommand = (path, description) => createContextCommand(path, description, async (args2, ctx) => {
129
- const { runAgentRunCommand } = await import("./agentRunCommand-SRZWFOPH.js");
129
+ const { runAgentRunCommand } = await import("./agentRunCommand-SGMH67WT.js");
130
130
  return runAgentRunCommand(args2, {
131
131
  env: ctx.env,
132
132
  scriptDir: ctx.scriptDir,
@@ -138,11 +138,11 @@ function getAgentInternalCommandEntries() {
138
138
  createAgentRunCommand(["run"], "Run a no-login local agent in this workspace"),
139
139
  createAgentRunCommand(["chat"], "Chat with an agent"),
140
140
  createEnvCommand(["agent", "list"], "List owned agents", async (args2, deps) => {
141
- const { runAgentListCommand } = await import("./agentListCommands-ZC33UDWT.js");
141
+ const { runAgentListCommand } = await import("./agentListCommands-6B5X4RC6.js");
142
142
  return runAgentListCommand(args2, deps);
143
143
  }),
144
144
  createEnvCommand(["agent", "create"], "Create a new agent", async (args2, deps) => {
145
- const { runAgentCreateCommand } = await import("./agentRecordCommands-DGDXE2VH.js");
145
+ const { runAgentCreateCommand } = await import("./agentRecordCommands-DCH2WBL2.js");
146
146
  return runAgentCreateCommand(args2, deps);
147
147
  }),
148
148
  createEnvCommand(["agent", "pull"], "Cache an agent for local runs", async (args2, deps) => {
@@ -150,7 +150,7 @@ function getAgentInternalCommandEntries() {
150
150
  return runAgentPullCommand(args2, deps);
151
151
  }),
152
152
  createEnvCommand(["agent", "read"], "Read a single agent", async (args2, deps) => {
153
- const { runAgentReadCommand } = await import("./agentRecordCommands-DGDXE2VH.js");
153
+ const { runAgentReadCommand } = await import("./agentRecordCommands-DCH2WBL2.js");
154
154
  return runAgentReadCommand(args2, deps);
155
155
  }),
156
156
  createAgentRunCommand(["agent", "run"], "Run an agent"),
@@ -179,31 +179,31 @@ function getAgentInternalCommandEntries() {
179
179
  return runSetupOfflineMarxistsAgentCommand(args2, deps);
180
180
  }),
181
181
  createEnvCommand(["agent", "update"], "Update agent fields", async (args2, deps) => {
182
- const { runAgentUpdateCommand } = await import("./agentRecordCommands-DGDXE2VH.js");
182
+ const { runAgentUpdateCommand } = await import("./agentRecordCommands-DCH2WBL2.js");
183
183
  return runAgentUpdateCommand(args2, deps);
184
184
  }),
185
185
  createEnvCommand(["agent", "email", "provision"], "Provision a controlled inbox for an agent", async (args2, deps) => {
186
- const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-UZ5BKX3P.js");
186
+ const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-TQMXL36I.js");
187
187
  return runAgentEmailProvisionCommand(args2, deps);
188
188
  }),
189
189
  createEnvCommand(["agent", "email", "bind"], "Bind an existing email address to an agent", async (args2, deps) => {
190
- const { runAgentEmailBindCommand } = await import("./agentEmailCommands-UZ5BKX3P.js");
190
+ const { runAgentEmailBindCommand } = await import("./agentEmailCommands-TQMXL36I.js");
191
191
  return runAgentEmailBindCommand(args2, deps);
192
192
  }),
193
193
  createEnvCommand(["agent", "email", "transfer"], "Transfer an email identity from one agent to another (cross-account)", async (args2, deps) => {
194
- const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-UZ5BKX3P.js");
194
+ const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-TQMXL36I.js");
195
195
  return runAgentEmailTransferCommand(args2, deps);
196
196
  }),
197
197
  createEnvCommand(
198
198
  ["agent", "email", "create-and-provision"],
199
199
  "Create an agent and provision its controlled inbox",
200
200
  async (args2, deps) => {
201
- const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-UZ5BKX3P.js");
201
+ const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-TQMXL36I.js");
202
202
  return runAgentEmailCreateAndProvisionCommand(args2, deps);
203
203
  }
204
204
  ),
205
205
  createEnvCommand(["agent", "delete"], "Hard-delete an agent's private and public records", async (args2, deps) => {
206
- const { runAgentDeleteCommand } = await import("./agentDeleteCommand-QDO62EZA.js");
206
+ const { runAgentDeleteCommand } = await import("./agentDeleteCommand-365DMKHW.js");
207
207
  return runAgentDeleteCommand(args2, deps);
208
208
  }),
209
209
  createEnvCommand(["agent", "grant"], "Grant another user access to this agent's owner credentials", async (args2, deps) => {
@@ -219,15 +219,15 @@ function getAgentInternalCommandEntries() {
219
219
  return runAgentRevokeGrantCommand(args2, deps);
220
220
  }),
221
221
  createEnvCommand(["agent", "bind-current"], "Bind an agent to this machine", async (args2, deps) => {
222
- const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-RZGZEZRL.js");
222
+ const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-LOEARB6V.js");
223
223
  return runAgentBindCurrentCommand(args2, deps);
224
224
  }),
225
225
  createEnvCommand(["agent", "smoke-current"], "Smoke test a bound agent through this machine", async (args2, deps) => {
226
- const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-RZGZEZRL.js");
226
+ const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-LOEARB6V.js");
227
227
  return runAgentSmokeCurrentCommand(args2, deps);
228
228
  }),
229
229
  createEnvCommand(["agent", "runtime-doctor"], "Diagnose current machine runtime compatibility", async (args2, deps) => {
230
- const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-RZGZEZRL.js");
230
+ const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-LOEARB6V.js");
231
231
  return runAgentRuntimeDoctorCommand(args2, deps);
232
232
  }),
233
233
  createAgentRunCommand(["agent", "chat"], "Chat with an agent")
@@ -238,23 +238,23 @@ function getAgentInternalCommandEntries() {
238
238
  function getAppInternalCommandEntries() {
239
239
  return [
240
240
  createEnvCommand(["app", "list"], "List your apps", async (args2, deps) => {
241
- const { runAppListCommand } = await import("./appListCommands-OBTPPKUM.js");
241
+ const { runAppListCommand } = await import("./appListCommands-UENFP4XY.js");
242
242
  return runAppListCommand(args2, deps);
243
243
  }),
244
244
  createEnvCommand(["app", "get"], "Get app details", async (args2, deps) => {
245
- const { runAppGetCommand } = await import("./appGetCommands-N2S4HYKY.js");
245
+ const { runAppGetCommand } = await import("./appGetCommands-O4OCAMRW.js");
246
246
  return runAppGetCommand(args2, deps);
247
247
  }),
248
248
  createEnvCommand(["app", "deploy"], "Deploy an app", async (args2, deps) => {
249
- const { runAppDeployCommand } = await import("./appDeployCommands-TZLZNTJN.js");
249
+ const { runAppDeployCommand } = await import("./appDeployCommands-WTCT6XO6.js");
250
250
  return runAppDeployCommand(args2, deps);
251
251
  }),
252
252
  createEnvCommand(["app", "deploy", "status"], "Check app deploy status", async (args2, deps) => {
253
- const { runAppDeployStatusCommand } = await import("./appDeployStatusCommands-OPPTLHRW.js");
253
+ const { runAppDeployStatusCommand } = await import("./appDeployStatusCommands-CGWGZJKB.js");
254
254
  return runAppDeployStatusCommand(args2, deps);
255
255
  }),
256
256
  createEnvCommand(["app", "delete"], "Delete an app", async (args2, deps) => {
257
- const { runAppDeleteCommand } = await import("./appDeleteCommands-7I26L64I.js");
257
+ const { runAppDeleteCommand } = await import("./appDeleteCommands-6QYOO3JB.js");
258
258
  return runAppDeleteCommand(args2, deps);
259
259
  })
260
260
  ];
@@ -264,23 +264,23 @@ function getAppInternalCommandEntries() {
264
264
  function getDialogInternalCommandEntries() {
265
265
  return [
266
266
  createEnvCommand(["dialog", "list"], "List dialogs (default --limit 50; --all/--limit 0 full; --jsonl streams)", async (args2, deps) => {
267
- const { runDialogListCommand } = await import("./dialogCommands-3GEPXHFB.js");
267
+ const { runDialogListCommand } = await import("./dialogCommands-ZL6L24BS.js");
268
268
  return runDialogListCommand(args2, deps);
269
269
  }),
270
270
  createEnvCommand(["dialog", "delete"], "Delete one or more dialogs", async (args2, deps) => {
271
- const { runDialogDeleteCommand } = await import("./dialogCommands-3GEPXHFB.js");
271
+ const { runDialogDeleteCommand } = await import("./dialogCommands-ZL6L24BS.js");
272
272
  return runDialogDeleteCommand(args2, deps);
273
273
  }),
274
274
  createEnvCommand(["dialog", "query"], "Query dialogs by subject refs (default --limit 50; --all full; --jsonl streams)", async (args2, deps) => {
275
- const { runDialogQueryCommand } = await import("./dialogCommands-3GEPXHFB.js");
275
+ const { runDialogQueryCommand } = await import("./dialogCommands-ZL6L24BS.js");
276
276
  return runDialogQueryCommand(args2, deps);
277
277
  }),
278
278
  createEnvCommand(["dialog", "read"], "Read a dialog", async (args2, deps) => {
279
- const { runDialogReadCommand } = await import("./dialogCommands-3GEPXHFB.js");
279
+ const { runDialogReadCommand } = await import("./dialogCommands-ZL6L24BS.js");
280
280
  return runDialogReadCommand(args2, deps);
281
281
  }),
282
282
  createEnvCommand(["dialog", "status"], "Read compact dialog status", async (args2, deps) => {
283
- const { runDialogStatusCommand } = await import("./dialogCommands-3GEPXHFB.js");
283
+ const { runDialogStatusCommand } = await import("./dialogCommands-ZL6L24BS.js");
284
284
  return runDialogStatusCommand(args2, deps);
285
285
  })
286
286
  ];
@@ -290,39 +290,39 @@ function getDialogInternalCommandEntries() {
290
290
  function getDocInternalCommandEntries() {
291
291
  return [
292
292
  createEnvCommand(["doc", "create"], "Create a normal doc", async (args2, deps) => {
293
- const { runDocCreateCommand } = await import("./docCreateCommands-ZE3S6BCP.js");
293
+ const { runDocCreateCommand } = await import("./docCreateCommands-LYROQTFH.js");
294
294
  return runDocCreateCommand(args2, deps);
295
295
  }),
296
296
  createEnvCommand(["doc", "read"], "Read a normal doc", async (args2, deps) => {
297
- const { runDocReadCommand } = await import("./docReadCommands-LDXL3B6J.js");
297
+ const { runDocReadCommand } = await import("./docReadCommands-PRULNF26.js");
298
298
  return runDocReadCommand(args2, deps);
299
299
  }),
300
300
  createEnvCommand(["doc", "update"], "Update a normal doc", async (args2, deps) => {
301
- const { runDocUpdateCommand } = await import("./docUpdateCommands-GYD6XI5O.js");
301
+ const { runDocUpdateCommand } = await import("./docUpdateCommands-NNYYWJBI.js");
302
302
  return runDocUpdateCommand(args2, deps);
303
303
  }),
304
304
  createEnvCommand(["doc", "delete"], "Delete a normal doc", async (args2, deps) => {
305
- const { runDocDeleteCommand } = await import("./docDeleteCommands-TW6PGTRT.js");
305
+ const { runDocDeleteCommand } = await import("./docDeleteCommands-6TWGTZNR.js");
306
306
  return runDocDeleteCommand(args2, deps);
307
307
  }),
308
308
  createEnvCommand(["skill-doc", "create"], "Create a skill-backed doc", async (args2, deps) => {
309
- const { runSkillDocCreateCommand } = await import("./docCreateCommands-ZE3S6BCP.js");
309
+ const { runSkillDocCreateCommand } = await import("./docCreateCommands-LYROQTFH.js");
310
310
  return runSkillDocCreateCommand(args2, deps);
311
311
  }),
312
312
  createEnvCommand(["skill", "create-doc"], "Create a skill-backed doc", async (args2, deps) => {
313
- const { runSkillDocCreateCommand } = await import("./docCreateCommands-ZE3S6BCP.js");
313
+ const { runSkillDocCreateCommand } = await import("./docCreateCommands-LYROQTFH.js");
314
314
  return runSkillDocCreateCommand(args2, deps);
315
315
  }),
316
316
  createEnvCommand(["skill-doc", "read"], "Read a skill doc", async (args2, deps) => {
317
- const { runSkillDocReadCommand } = await import("./docReadCommands-LDXL3B6J.js");
317
+ const { runSkillDocReadCommand } = await import("./docReadCommands-PRULNF26.js");
318
318
  return runSkillDocReadCommand(args2, deps);
319
319
  }),
320
320
  createEnvCommand(["skill-doc", "update"], "Update a skill doc", async (args2, deps) => {
321
- const { runSkillDocUpdateCommand } = await import("./docUpdateCommands-GYD6XI5O.js");
321
+ const { runSkillDocUpdateCommand } = await import("./docUpdateCommands-NNYYWJBI.js");
322
322
  return runSkillDocUpdateCommand(args2, deps);
323
323
  }),
324
324
  createEnvCommand(["skill-doc", "delete"], "Delete a skill doc", async (args2, deps) => {
325
- const { runSkillDocDeleteCommand } = await import("./docDeleteCommands-TW6PGTRT.js");
325
+ const { runSkillDocDeleteCommand } = await import("./docDeleteCommands-6TWGTZNR.js");
326
326
  return runSkillDocDeleteCommand(args2, deps);
327
327
  })
328
328
  ];
@@ -350,19 +350,19 @@ function getMemoryInternalCommandEntries() {
350
350
  function getSpaceInternalCommandEntries() {
351
351
  return [
352
352
  createEnvCommand(["space", "create"], "Create a space", async (args2, deps) => {
353
- const { runSpaceCreateCommand } = await import("./spaceCommands-O3KJNCON.js");
353
+ const { runSpaceCreateCommand } = await import("./spaceCommands-4LE45GB7.js");
354
354
  return runSpaceCreateCommand(args2, deps);
355
355
  }),
356
356
  createEnvCommand(["space", "invite"], "Invite an existing user to a space", async (args2, deps) => {
357
- const { runSpaceInviteCommand } = await import("./spaceCommands-O3KJNCON.js");
357
+ const { runSpaceInviteCommand } = await import("./spaceCommands-4LE45GB7.js");
358
358
  return runSpaceInviteCommand(args2, deps);
359
359
  }),
360
360
  createEnvCommand(["space", "accept-invite"], "Accept a space invite", async (args2, deps) => {
361
- const { runSpaceAcceptInviteCommand } = await import("./spaceCommands-O3KJNCON.js");
361
+ const { runSpaceAcceptInviteCommand } = await import("./spaceCommands-4LE45GB7.js");
362
362
  return runSpaceAcceptInviteCommand(args2, deps);
363
363
  }),
364
364
  createEnvCommand(["space", "upload"], "Upload a file to a space", async (args2, deps) => {
365
- const { runSpaceUploadCommand } = await import("./spaceCommands-O3KJNCON.js");
365
+ const { runSpaceUploadCommand } = await import("./spaceCommands-4LE45GB7.js");
366
366
  return runSpaceUploadCommand(args2, deps);
367
367
  })
368
368
  ];
@@ -408,15 +408,15 @@ function getSystemInternalCommandEntries(renderHelpText2) {
408
408
  return runWhoamiCommand({ args: args2, env: ctx.env });
409
409
  }),
410
410
  createEntrypointEnvCommand(["connect"], "Send machine heartbeats or hold a connector websocket", async (args2, deps) => {
411
- const { runMachineConnectCommand } = await import("./machineCommands-OKNDYS3M.js");
411
+ const { runMachineConnectCommand } = await import("./machineCommands-JQPEQFSE.js");
412
412
  return runMachineConnectCommand(args2, deps);
413
413
  }),
414
414
  createDaemonShortcutCommand(["daemon"], "Run the connector daemon shortcut", async (args2, deps) => {
415
- const { runMachineConnectCommand } = await import("./machineCommands-OKNDYS3M.js");
415
+ const { runMachineConnectCommand } = await import("./machineCommands-JQPEQFSE.js");
416
416
  return runMachineConnectCommand(args2, deps);
417
417
  }),
418
418
  createEnvCommand(["machine", "status"], "List machines registered to the current profile", async (args2, deps) => {
419
- const { runMachineStatusCommand } = await import("./machineCommands-OKNDYS3M.js");
419
+ const { runMachineStatusCommand } = await import("./machineCommands-JQPEQFSE.js");
420
420
  return runMachineStatusCommand(args2, deps);
421
421
  }),
422
422
  createEnvCommand(["doctor", "runtime"], "Diagnose local-first agent runtime selection", async (args2, deps) => {
@@ -796,7 +796,7 @@ async function runScript(script, forwardedArgs, env) {
796
796
  return proc.exited;
797
797
  }
798
798
  async function launchTuiWorkspace(args2) {
799
- const { startTuiWorkspace } = await import("./readlineWorkspace-MB3ANKHM.js");
799
+ const { startTuiWorkspace } = await import("./readlineWorkspace-QSXHSBHA.js");
800
800
  const { createTuiSummaryLlmCaller } = await import("./tuiSummaryLlmCaller-QQL3JA5I.js");
801
801
  return startTuiWorkspace({
802
802
  ...args2,
@@ -2,7 +2,7 @@ import {
2
2
  buildMachinePermissionPromptBlock,
3
3
  handleConnectorRunMessage,
4
4
  resolveMachineRunPermissionPolicy
5
- } from "./chunk-UXKQQ2MR.js";
5
+ } from "./chunk-WPN6RMDF.js";
6
6
  import {
7
7
  isConnectorWebSocketAuthError,
8
8
  isConnectorWebSocketRetryableError,
@@ -11,9 +11,9 @@ import {
11
11
  import {
12
12
  detectMachineInfo
13
13
  } from "./chunk-6HYVJV7B.js";
14
- import "./chunk-AWDOJBHW.js";
14
+ import "./chunk-QLFCNUVQ.js";
15
15
  import "./chunk-EHLHSX7R.js";
16
- import "./chunk-IOQ7IBPU.js";
16
+ import "./chunk-QZVGMD5F.js";
17
17
  import "./chunk-VHBWHNVT.js";
18
18
  import "./chunk-WNLPAOIT.js";
19
19
  import "./chunk-WRN5EQT7.js";
@@ -44,7 +44,7 @@ import "./chunk-SOTZ6RDN.js";
44
44
  import "./chunk-Z4NR32XR.js";
45
45
  import "./chunk-M76ECQRD.js";
46
46
  import "./chunk-WZSRQNQG.js";
47
- import "./chunk-5VMYGIIL.js";
47
+ import "./chunk-YC3DJILJ.js";
48
48
  import "./chunk-WA6KZL5V.js";
49
49
  import "./chunk-ZNFJWEN4.js";
50
50
  import "./chunk-OIQPORYI.js";
@@ -11,10 +11,10 @@ import {
11
11
  runtimeWorkspacePermissionPolicy,
12
12
  scopePermissionPolicyToRuntimeWorkspace,
13
13
  summarizeAgentConfigForLogs
14
- } from "./chunk-UXKQQ2MR.js";
15
- import "./chunk-AWDOJBHW.js";
14
+ } from "./chunk-WPN6RMDF.js";
15
+ import "./chunk-QLFCNUVQ.js";
16
16
  import "./chunk-EHLHSX7R.js";
17
- import "./chunk-IOQ7IBPU.js";
17
+ import "./chunk-QZVGMD5F.js";
18
18
  import "./chunk-VHBWHNVT.js";
19
19
  import "./chunk-WNLPAOIT.js";
20
20
  import "./chunk-WRN5EQT7.js";
@@ -43,7 +43,7 @@ import "./chunk-SOTZ6RDN.js";
43
43
  import "./chunk-Z4NR32XR.js";
44
44
  import "./chunk-M76ECQRD.js";
45
45
  import "./chunk-WZSRQNQG.js";
46
- import "./chunk-5VMYGIIL.js";
46
+ import "./chunk-YC3DJILJ.js";
47
47
  import "./chunk-WA6KZL5V.js";
48
48
  import "./chunk-ZNFJWEN4.js";
49
49
  import "./chunk-OIQPORYI.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nolo-cli",
3
- "version": "0.15.0",
3
+ "version": "0.16.0-alpha.1",
4
4
  "type": "module",
5
5
  "description": "Agent-first terminal workspace for Nolo",
6
6
  "bin": {
@@ -3,7 +3,7 @@ import {
3
3
  normalizeDialogRecord,
4
4
  readDialogSnapshot,
5
5
  sortDialogs
6
- } from "./chunk-OKSYPTDZ.js";
6
+ } from "./chunk-RSYUDGGZ.js";
7
7
  import {
8
8
  ANSI_ESCAPE_REGEX,
9
9
  CLI_AUTO_TIER_AGENT_KEYS,
@@ -12,6 +12,7 @@ import {
12
12
  COLLAPSED_PASTE_PLACEHOLDER_RE,
13
13
  THEME_PALETTES,
14
14
  allocateCollapsedPaste,
15
+ applyDetectedBackground,
15
16
  applyTerminalOutputToText,
16
17
  buildSkillContextBlocks,
17
18
  classifyCliAutoRoute,
@@ -56,7 +57,7 @@ import {
56
57
  visibleWidth,
57
58
  wrapTextToLines,
58
59
  wrapTranscriptLine
59
- } from "./chunk-XGQZFBO5.js";
60
+ } from "./chunk-YYIRR6QC.js";
60
61
  import "./chunk-DZ3XJVET.js";
61
62
  import "./chunk-6HYVJV7B.js";
62
63
  import {
@@ -64,18 +65,18 @@ import {
64
65
  listLocalCachedAgents,
65
66
  listRemoteAgents,
66
67
  listRemoteAgentsAcrossServers
67
- } from "./chunk-IZ2QRVEU.js";
68
+ } from "./chunk-GRTFNYLR.js";
68
69
  import "./chunk-ID4G2MAR.js";
69
70
  import {
70
71
  listUserRecordsFromServers
71
- } from "./chunk-472E5RMQ.js";
72
+ } from "./chunk-J55UHASN.js";
72
73
  import {
73
74
  createCliLocalRuntimeAdapter,
74
75
  initCliLocale,
75
76
  parseCliLocale,
76
77
  setCliLocale,
77
78
  t
78
- } from "./chunk-AWDOJBHW.js";
79
+ } from "./chunk-QLFCNUVQ.js";
79
80
  import "./chunk-EHLHSX7R.js";
80
81
  import {
81
82
  getReadableCliDb
@@ -84,8 +85,8 @@ import {
84
85
  deleteDbRecord,
85
86
  queryUserRecords,
86
87
  readDbRecord
87
- } from "./chunk-K53477EY.js";
88
- import "./chunk-IOQ7IBPU.js";
88
+ } from "./chunk-4NLUNENX.js";
89
+ import "./chunk-QZVGMD5F.js";
89
90
  import {
90
91
  resolveCliAgentKeyInput
91
92
  } from "./chunk-VHBWHNVT.js";
@@ -133,7 +134,7 @@ import {
133
134
  buildLocalWorkspaceOpenAiTools,
134
135
  buildLocalWorkspaceToolset,
135
136
  getProcessRegistry
136
- } from "./chunk-5VMYGIIL.js";
137
+ } from "./chunk-YC3DJILJ.js";
137
138
  import "./chunk-WA6KZL5V.js";
138
139
  import "./chunk-ZNFJWEN4.js";
139
140
  import "./chunk-OIQPORYI.js";
@@ -3206,6 +3207,9 @@ function handleTuiInput(input, state) {
3206
3207
  ].join("\n")
3207
3208
  };
3208
3209
  }
3210
+ if (sub === "refresh") {
3211
+ return { nextState: state, action: { type: "theme-refresh" }, output: "" };
3212
+ }
3209
3213
  if (sub === "light" || sub === "dark") {
3210
3214
  setActiveBrightness(sub);
3211
3215
  return { nextState: state, output: t("themeBrightnessSwitched", sub) };
@@ -4446,6 +4450,22 @@ function readCsiSequence(input, start) {
4446
4450
  }
4447
4451
  return null;
4448
4452
  }
4453
+ function parseOscEnd(input, start) {
4454
+ if (!input.startsWith("\x1B]", start)) return null;
4455
+ const bodyStart = start + 2;
4456
+ const bel = input.indexOf("\x07", bodyStart);
4457
+ const st = input.indexOf("\x1B\\", bodyStart);
4458
+ let end = -1;
4459
+ if (bel !== -1) end = bel + 1;
4460
+ if (st !== -1) {
4461
+ const stEnd = st + 2;
4462
+ if (end === -1 || stEnd < end) end = stEnd;
4463
+ }
4464
+ return end === -1 ? null : end;
4465
+ }
4466
+ function isIncompleteOsc(input) {
4467
+ return input.startsWith("\x1B]") && parseOscEnd(input, 0) === null;
4468
+ }
4449
4469
  function isIncompleteTail(input, start) {
4450
4470
  if (start >= input.length) return false;
4451
4471
  const rem = input.slice(start);
@@ -4466,6 +4486,9 @@ function isIncompleteTail(input, start) {
4466
4486
  }
4467
4487
  return true;
4468
4488
  }
4489
+ if (parseOscEnd(input, start) === null && input.startsWith("\x1B]", start)) {
4490
+ return true;
4491
+ }
4469
4492
  if (rem.startsWith("\x1BO") && rem.length < 3) {
4470
4493
  return true;
4471
4494
  }
@@ -4497,6 +4520,11 @@ function splitRawInputWithTail(input, options) {
4497
4520
  if (isIncompleteTail(input, index)) {
4498
4521
  return { tokens, tail: input.slice(index) };
4499
4522
  }
4523
+ const oscEnd = parseOscEnd(input, index);
4524
+ if (oscEnd !== null) {
4525
+ index = oscEnd;
4526
+ continue;
4527
+ }
4500
4528
  if (input.startsWith(PASTE_START, index)) {
4501
4529
  const contentStart = index + PASTE_START.length;
4502
4530
  const endPos = findBracketedPasteEnd(input, contentStart);
@@ -4600,7 +4628,9 @@ function createRawInputDecoder(onToken, options) {
4600
4628
  }
4601
4629
  if (!tail) return;
4602
4630
  if (forceCompleteOpenPaste) {
4603
- if (consumeSgrMouseSequence(tail) === void 0) return;
4631
+ if (consumeSgrMouseSequence(tail) === void 0 || isIncompleteOsc(tail)) {
4632
+ return;
4633
+ }
4604
4634
  emitCodePoints(tail);
4605
4635
  return;
4606
4636
  }
@@ -4628,7 +4658,9 @@ function createRawInputDecoder(onToken, options) {
4628
4658
  for (const token of tokens) onToken(token);
4629
4659
  if (pendingBuffer.startsWith(PASTE_START)) return;
4630
4660
  if (pendingBuffer.length > 0) {
4631
- if (consumeSgrMouseSequence(pendingBuffer) === void 0) return;
4661
+ if (consumeSgrMouseSequence(pendingBuffer) === void 0 || isIncompleteOsc(pendingBuffer)) {
4662
+ return;
4663
+ }
4632
4664
  timer = setTimeout(() => flushEscPending(true), timeoutMs);
4633
4665
  }
4634
4666
  return;
@@ -5275,6 +5307,43 @@ async function startTuiWorkspace(options) {
5275
5307
  };
5276
5308
  let modalOwnsKeyboard = false;
5277
5309
  let rawActionGateTokenHandler = null;
5310
+ const AUTO_THEME_POLL_MS = 3e4;
5311
+ let autoThemeTimer = null;
5312
+ const maybeAutoRefreshTheme = async () => {
5313
+ if (sessionEnded) return;
5314
+ if (fixedInput.isPaused()) return;
5315
+ if (modalOwnsKeyboard) return;
5316
+ if (getActiveBrightness() !== null) return;
5317
+ if (!isInteractiveInput(input)) return;
5318
+ const detected2 = await detectTerminalBackground({
5319
+ stdin: input,
5320
+ stdout: output
5321
+ });
5322
+ if (sessionEnded) return;
5323
+ if (!detected2) {
5324
+ if (autoThemeTimer !== null) {
5325
+ clearInterval(autoThemeTimer);
5326
+ autoThemeTimer = null;
5327
+ }
5328
+ return;
5329
+ }
5330
+ if (applyDetectedBackground(detected2)) {
5331
+ if (fixedInput.active && !fixedInput.isPaused() && !modalOwnsKeyboard) {
5332
+ output.write("\x1B[?2026h\x1B[?25l");
5333
+ try {
5334
+ renderHistoryToOutput();
5335
+ fixedInput.repaint(buffer, cursorPos);
5336
+ } finally {
5337
+ output.write("\x1B[?25h\x1B[?2026l");
5338
+ }
5339
+ }
5340
+ }
5341
+ };
5342
+ if (detected && isInteractiveInput(input) && (options.env ?? process.env).NOLO_TUI_AUTO_THEME !== "0") {
5343
+ autoThemeTimer = setInterval(() => {
5344
+ void maybeAutoRefreshTheme();
5345
+ }, AUTO_THEME_POLL_MS);
5346
+ }
5278
5347
  const runOneAgentTurn = async (message, imageUrls, actionGateHandler, confirmDestructiveAction) => {
5279
5348
  forcedStop = false;
5280
5349
  turnEpoch += 1;
@@ -5537,6 +5606,19 @@ async function startTuiWorkspace(options) {
5537
5606
  output.write("Update failed. Check the error above, then run /update again or use nolo update.\n");
5538
5607
  }
5539
5608
  }
5609
+ if (result.action?.type === "theme-refresh") {
5610
+ const detected2 = await detectTerminalBackground({
5611
+ stdin: input,
5612
+ stdout: output
5613
+ });
5614
+ if (detected2 && applyDetectedBackground(detected2)) {
5615
+ emitCommandOutput(t("themeRefreshed", detected2.brightness));
5616
+ } else if (detected2) {
5617
+ emitCommandOutput(t("themeRefreshed", detected2.brightness));
5618
+ } else {
5619
+ emitCommandOutput(t("themeRefreshFailed"));
5620
+ }
5621
+ }
5540
5622
  if (result.action?.type === "pick-agent") {
5541
5623
  try {
5542
5624
  const pickResult = await dialogHost.run(
@@ -5851,6 +5933,10 @@ ${err.message}` : ""}`
5851
5933
  if (done) return;
5852
5934
  done = true;
5853
5935
  sessionEnded = true;
5936
+ if (autoThemeTimer !== null) {
5937
+ clearInterval(autoThemeTimer);
5938
+ autoThemeTimer = null;
5939
+ }
5854
5940
  resolveDone?.();
5855
5941
  clearCollapsedPasteStore(pasteStore);
5856
5942
  resizeTarget.off?.("resize", onResize);
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  readLiveDbRecordAfterTombstoneMerge
3
- } from "./chunk-472E5RMQ.js";
3
+ } from "./chunk-J55UHASN.js";
4
4
  import {
5
5
  readDbRecord,
6
6
  writeAgentRecord
7
- } from "./chunk-K53477EY.js";
8
- import "./chunk-IOQ7IBPU.js";
7
+ } from "./chunk-4NLUNENX.js";
8
+ import "./chunk-QZVGMD5F.js";
9
9
  import "./chunk-VHBWHNVT.js";
10
10
  import "./chunk-KQHGZWSV.js";
11
11
  import {
12
12
  authRoutes
13
13
  } from "./chunk-MRC4Q34M.js";
14
- import "./chunk-5VMYGIIL.js";
14
+ import "./chunk-YC3DJILJ.js";
15
15
  import "./chunk-WA6KZL5V.js";
16
16
  import "./chunk-ZNFJWEN4.js";
17
17
  import "./chunk-OIQPORYI.js";