nolo-cli 0.184.0-alpha.1 → 0.185.0-alpha.2

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 (84) hide show
  1. package/{_executeModel-YYVG3FYU.js → _executeModel-5SGPPCT6.js} +19 -19
  2. package/{accountResolver-HPVXZJYD.js → accountResolver-NQJ57BVU.js} +1 -1
  3. package/{agentDeleteCommand-WAVA6O3U.js → agentDeleteCommand-RUBWHUMZ.js} +22 -22
  4. package/{agentEmailCommands-T5RB2RKP.js → agentEmailCommands-RXCDWZDW.js} +23 -23
  5. package/{agentListCommands-QZN5WVJ5.js → agentListCommands-IIVWUN2H.js} +11 -11
  6. package/{agentMachineCommands-BBADUZ7U.js → agentMachineCommands-SPQ3CCYU.js} +8 -8
  7. package/{agentRecordCommands-N4YEVYKR.js → agentRecordCommands-AKAQ7BRK.js} +22 -22
  8. package/{agentRunCommand-G7H745CP.js → agentRunCommand-S3VSGTS4.js} +23 -23
  9. package/{agentRuntimeLocal-ECGPI3CO.js → agentRuntimeLocal-CBDP2OYK.js} +5 -5
  10. package/{agentSlice-MS5G7UCC.js → agentSlice-2PEJP3NV.js} +1 -1
  11. package/{appDeleteCommands-BY2QK4FR.js → appDeleteCommands-OP4GGXEJ.js} +10 -10
  12. package/{appDeployCommands-UH2W6LPJ.js → appDeployCommands-LHTVLNL5.js} +10 -10
  13. package/{appDeployStatusCommands-I5DZQFKA.js → appDeployStatusCommands-BSDDQU7S.js} +10 -10
  14. package/{appGetCommands-ZBCBTEO3.js → appGetCommands-LNHGUJKF.js} +10 -10
  15. package/{appListCommands-ZA6NXKV3.js → appListCommands-RGOFZV5M.js} +10 -10
  16. package/{authCommand-RGOCQCQT.js → authCommand-NR6NELQ7.js} +1 -1
  17. package/{builtinSkillRegistry-HJCSXMKS.js → builtinSkillRegistry-RR35BY57.js} +4 -4
  18. package/{chromeCommands-BGL6JZMB.js → chromeCommands-EXJZ5HH5.js} +2 -2
  19. package/{chromeOpsCommands-MVGJZUOQ.js → chromeOpsCommands-ITBZEFBX.js} +27 -2
  20. package/{chunk-JWSHARJM.js → chunk-7DPEOMDL.js} +7 -7
  21. package/{chunk-NRYTWXXV.js → chunk-7XISFN2T.js} +1 -1
  22. package/{chunk-HWJZEUA6.js → chunk-7YW5OUQE.js} +3 -3
  23. package/{chunk-PZ7LKLIV.js → chunk-AA5GKA2X.js} +2 -2
  24. package/{chunk-NHBJHDVW.js → chunk-AKE53VMW.js} +1 -1
  25. package/{chunk-C3BYVRTJ.js → chunk-BJPALUYR.js} +2 -2
  26. package/{chunk-2FY2HA4R.js → chunk-CN6T5QKA.js} +5 -5
  27. package/{chunk-5ROGGWPM.js → chunk-D4JCY67U.js} +14 -14
  28. package/{chunk-MHC44FKA.js → chunk-DBEIHUCJ.js} +3 -3
  29. package/{chunk-WPWAD6NT.js → chunk-DWTNJZ63.js} +2 -2
  30. package/{chunk-3FTJG5NU.js → chunk-FKOCI2WR.js} +1 -1
  31. package/{chunk-MMSZKZWA.js → chunk-FSIJK37C.js} +1 -1
  32. package/{chunk-7AVKDSWD.js → chunk-HRLKX6YP.js} +1 -1
  33. package/{chunk-GTQKUQGF.js → chunk-IHQ7RMRS.js} +1 -1
  34. package/{chunk-JJWQ737H.js → chunk-IIGDVODZ.js} +1 -1
  35. package/{chunk-FO2BTDKY.js → chunk-IOQHM7ID.js} +4 -4
  36. package/{chunk-GDQ5KO2J.js → chunk-JJU5FBYH.js} +287 -16
  37. package/{chunk-F2P6YUHC.js → chunk-K3TVMCV3.js} +1 -1
  38. package/{chunk-P7JNYLDW.js → chunk-KHMJI7GE.js} +1 -1
  39. package/{chunk-PW5CM76N.js → chunk-KVUMIWLL.js} +3 -3
  40. package/{chunk-R2EDHCTI.js → chunk-M4JDIVIS.js} +2 -2
  41. package/{chunk-ORYQ2GDN.js → chunk-MIPGIRJJ.js} +3 -3
  42. package/{chunk-FAFNPFGS.js → chunk-MROMTEHV.js} +7 -7
  43. package/{chunk-5DVM4RIR.js → chunk-NCC2SYOD.js} +3 -3
  44. package/{chunk-TQU64H2A.js → chunk-QEGPFGKA.js} +2 -2
  45. package/{chunk-3GMGSUU2.js → chunk-SJGHZTLV.js} +2 -2
  46. package/{chunk-WGHIT2HH.js → chunk-VXCDYN6M.js} +8 -8
  47. package/{chunk-IR5IH6LH.js → chunk-WVIBJBDF.js} +10 -10
  48. package/{chunk-LPV7KKTB.js → chunk-YO3O7H2X.js} +530 -2
  49. package/{chunk-AWFDDOVW.js → chunk-YVAERPCH.js} +3 -3
  50. package/{chunk-GKKIZRJ6.js → chunk-YXTMZQGX.js} +11 -2
  51. package/{chunk-3PVH6HJG.js → chunk-YXTQJ2QR.js} +3 -3
  52. package/{chunk-MPIAKYZ7.js → chunk-YYKHIX4X.js} +1 -1
  53. package/{chunk-JX5XVFVW.js → chunk-ZC3CMUKU.js} +27 -3
  54. package/{chunk-B3BTDNEC.js → chunk-ZU2BF6Q4.js} +5 -5
  55. package/{chunk-DHMXTEM4.js → chunk-ZYI6K46I.js} +2 -2
  56. package/{chunk-TXJZ7QXG.js → chunk-ZZE2IJ5U.js} +2 -2
  57. package/{commandRegistry-XDGDMYU6.js → commandRegistry-IP34O6Y2.js} +70 -65
  58. package/{contentThunks-EWOORWBS.js → contentThunks-BSCTL5G3.js} +3 -3
  59. package/{cooldownCommands-5KIQ2FDU.js → cooldownCommands-IUU3ZH3L.js} +1 -1
  60. package/{createAgentAutomationAction-TRIAQUAK.js → createAgentAutomationAction-Y5W2FW3Y.js} +3 -3
  61. package/{createDialogAction-FXPXXDRR.js → createDialogAction-GIZ7QCRQ.js} +6 -6
  62. package/{createPageAction-HHFPJKBD.js → createPageAction-GFH4DXMX.js} +3 -3
  63. package/{dialogCommands-2M5NWSY2.js → dialogCommands-6MR232CJ.js} +10 -10
  64. package/{dialogSlice-4W7DJJC2.js → dialogSlice-U3X3CBR7.js} +2 -2
  65. package/{docCreateCommands-PKUJVJ5N.js → docCreateCommands-DAZJ2Y5E.js} +9 -9
  66. package/{docDeleteCommands-C3RNBHIH.js → docDeleteCommands-XO26LNIO.js} +10 -10
  67. package/{docReadCommands-JS4W26DI.js → docReadCommands-77XGRLD6.js} +9 -9
  68. package/{docStore-VBINJLRX.js → docStore-H2XCYODR.js} +1 -1
  69. package/{docUpdateCommands-NZWDQFDD.js → docUpdateCommands-QXN3MJAJ.js} +9 -9
  70. package/{handleSendMessageAction-FJKTVMCA.js → handleSendMessageAction-MZKFIPYL.js} +11 -11
  71. package/index.js +6 -6
  72. package/{localRuntimeAdapter-5ANB7V6J.js → localRuntimeAdapter-E2QDYFTW.js} +20 -20
  73. package/{machineCommands-A2NAILV6.js → machineCommands-SQELO6HH.js} +21 -21
  74. package/{machineWsRunDispatch-AWIGTEF6.js → machineWsRunDispatch-E33LUXWG.js} +21 -21
  75. package/package.json +1 -1
  76. package/{readlineWorkspace-GFKEHEXB.js → readlineWorkspace-V6GVWGIZ.js} +241 -32
  77. package/{runAgentClientLoop-KV6R3FSU.js → runAgentClientLoop-JRW5EA5U.js} +17 -17
  78. package/{secretCommands-Q65QRUI2.js → secretCommands-UZV7CPJY.js} +1 -1
  79. package/{spaceCommands-CIXBPVEY.js → spaceCommands-PHLKQ2AW.js} +8 -8
  80. package/{streamAgentChatTurn-RTQ2DU4K.js → streamAgentChatTurn-CBGAGRQL.js} +19 -19
  81. package/{tools-R6JLL5PS.js → tools-RVVZ2Y6V.js} +13 -13
  82. package/{updateCommands-WBGORNRR.js → updateCommands-MZCY6FXK.js} +3 -3
  83. package/{updateDialogTitleAction-2QNU4T4I.js → updateDialogTitleAction-2RKLYUPB.js} +3 -3
  84. package/{windowsSelfUpdate-EELBE4KH.js → windowsSelfUpdate-XV2MMQAC.js} +2 -2
@@ -9,7 +9,7 @@ import {
9
9
  resolveRawAgentInput,
10
10
  resolveServerUrl,
11
11
  writeUsage
12
- } from "./chunk-DHMXTEM4.js";
12
+ } from "./chunk-ZYI6K46I.js";
13
13
  import {
14
14
  getReadableCliDb
15
15
  } from "./chunk-62TBKWTV.js";
@@ -31,7 +31,7 @@ import {
31
31
  resolveFileWriteGateEnabled,
32
32
  resolveLocalUserId,
33
33
  validateInstaboxWorkspaceSelection
34
- } from "./chunk-GDQ5KO2J.js";
34
+ } from "./chunk-JJU5FBYH.js";
35
35
  import {
36
36
  clearCredentialAvailability,
37
37
  readEffectiveCredentialEntry,
@@ -57,7 +57,7 @@ import {
57
57
  import {
58
58
  readDbRecord,
59
59
  resolveAgentRecordFromHybridStore
60
- } from "./chunk-GTQKUQGF.js";
60
+ } from "./chunk-IHQ7RMRS.js";
61
61
  import {
62
62
  isLocalCliAgentKey
63
63
  } from "./chunk-NBTY7YJF.js";
@@ -72,14 +72,14 @@ import {
72
72
  } from "./chunk-BMQ2MJUK.js";
73
73
  import {
74
74
  resolveCliLocalRuntimeKeyCapability
75
- } from "./chunk-5ROGGWPM.js";
75
+ } from "./chunk-D4JCY67U.js";
76
76
  import {
77
77
  isTransientFetchError
78
78
  } from "./chunk-KFHREHUQ.js";
79
79
  import {
80
80
  parseUiCard,
81
81
  uiCardFallback
82
- } from "./chunk-HWJZEUA6.js";
82
+ } from "./chunk-7YW5OUQE.js";
83
83
  import {
84
84
  isGatewayHttpStatus
85
85
  } from "./chunk-NF64D32W.js";
@@ -88,7 +88,7 @@ import {
88
88
  chooseMemoryOwners,
89
89
  loadMemoryCandidatesFromDb,
90
90
  resolveAgentMemoryPolicy
91
- } from "./chunk-3PVH6HJG.js";
91
+ } from "./chunk-YXTQJ2QR.js";
92
92
  import {
93
93
  getDefaultCliLocalRuntimeDb
94
94
  } from "./chunk-FDLDMJTM.js";
@@ -99,7 +99,7 @@ import {
99
99
  resolveAgentContextWindow,
100
100
  resolveOccupancy,
101
101
  resolveOccupancyWindow
102
- } from "./chunk-WGHIT2HH.js";
102
+ } from "./chunk-VXCDYN6M.js";
103
103
  import {
104
104
  buildSkillDiscoveryContextLayer
105
105
  } from "./chunk-AU7AXHUL.js";
@@ -111,7 +111,7 @@ import {
111
111
  LOCAL_AGENT_CONFIG_MISSING_CODE,
112
112
  LOCAL_TURN_ABORTED_CODE,
113
113
  readActionGate
114
- } from "./chunk-FO2BTDKY.js";
114
+ } from "./chunk-IOQHM7ID.js";
115
115
  import {
116
116
  resolveAgentRuntimeConfigFromRecord
117
117
  } from "./chunk-CR5WXQX7.js";
@@ -220,7 +220,7 @@ import {
220
220
  t,
221
221
  toolLabel,
222
222
  toolLabelVariants
223
- } from "./chunk-LPV7KKTB.js";
223
+ } from "./chunk-YO3O7H2X.js";
224
224
  import {
225
225
  isAntigravityOAuthAgent
226
226
  } from "./chunk-JOUFPRE4.js";
@@ -11376,7 +11376,7 @@ function isBalanceExhaustedError(error) {
11376
11376
 
11377
11377
  // packages/cli/client/agentRun.ts
11378
11378
  async function loadRunLocalAgentTurn() {
11379
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-ECGPI3CO.js");
11379
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-CBDP2OYK.js");
11380
11380
  return runLocalAgentTurn;
11381
11381
  }
11382
11382
  var stripDebugNoise = (s) => s.replace(/\s*raw="[\s\S]*"/g, "").replace(/\s*raw=\S+/g, "").replace(/\s*headers=\[[^\]]*\]/g, "").replace(/\s*headers=\S+/g, "").trim();
@@ -1564,6 +1564,14 @@ var cliSurfaceStrings = {
1564
1564
  "en": "Missing required --key <key>. Usage: {0}",
1565
1565
  "zh": "\u7F3A\u5C11\u5FC5\u9700\u7684 --key <key>\u3002\u7528\u6CD5\uFF1A{0}"
1566
1566
  },
1567
+ "cliBrowserMissingExpression": {
1568
+ "en": "Missing required --expr <js>. Usage: {0}",
1569
+ "zh": "\u7F3A\u5C11\u5FC5\u9700\u7684 --expr <js>\u3002\u7528\u6CD5\uFF1A{0}"
1570
+ },
1571
+ "cliBrowserEvalTimeoutRange": {
1572
+ "en": "--timeout-ms must be an integer between 100 and 60000. Usage: {0}",
1573
+ "zh": "--timeout-ms \u5FC5\u987B\u662F 100 \u5230 60000 \u4E4B\u95F4\u7684\u6574\u6570\u3002\u7528\u6CD5\uFF1A{0}"
1574
+ },
1567
1575
  "cliBrowserAction": {
1568
1576
  "en": "Invalid or missing --action <click|type|press>. Usage: {0}",
1569
1577
  "zh": "--action <click|type|press> \u65E0\u6548\u6216\u7F3A\u5931\u3002\u7528\u6CD5\uFF1A{0}"
@@ -1597,8 +1605,8 @@ var cliSurfaceStrings = {
1597
1605
  "zh": "\u901A\u8FC7 Nolo Browser Connector \u64CD\u4F5C\u7528\u6237\u7684\u6D4F\u89C8\u5668\uFF08Chrome \u6216 Firefox\uFF09\n\uFF08\u684C\u9762\u6865\u63A5\uFF1B\u4E0E browser_* agent \u5DE5\u5177\u4F7F\u7528\u76F8\u540C RPC\uFF0C\u4ECD\u517C\u5BB9\u65E7\u540D\u79F0 `chrome_*`\uFF09\u3002\n\n\u7528\u6CD5\uFF1A\n nolo browser <subcommand> [flags]\n nolo chrome <subcommand> [flags] # \u517C\u5BB9\u522B\u540D\n\n\u5B50\u547D\u4EE4\uFF1A"
1598
1606
  },
1599
1607
  "cliBrowserHelpNotes": {
1600
- "en": '\nNotes:\n --ref takes an elementRef copied from `nolo browser read-page` (revision-scoped,\n preferred over --selector); --selector takes a CSS selector.\n Actions the connector classifies as irreversible (pay / send / delete / publish / permission)\n open a confirmation request in the browser and return USER_APPROVAL_PENDING with an approvalId:\n the user clicks "Allow once" there, then rerun the same command with --approval-id <id>.\n That id is not an authorization \u2014 only the lookup key for the decision the user already made.\n prepare-action prepares an immutable action challenge binding for host consent verification;\n it is strictly read-only, never executes mutations, and does not grant approval.\n read-console / read-network / upload work on Chrome only (Firefox lacks chrome.debugger).\n --browser chrome|firefox selects which connector endpoint serves the call (default\n auto-detects single online browser: chrome = 127.0.0.1:38947, firefox = 127.0.0.1:38948);\n the wrong browser is refused.\n Every subcommand prints the connector\'s raw JSON result; failures exit 1.\n Endpoint: NOLO_CHROME_CONNECTOR_RPC_URL or per-browser NOLO_CHROME_CONNECTOR_PORT /\n NOLO_FIREFOX_CONNECTOR_PORT (default http://127.0.0.1:38947/rpc).',
1601
- "zh": "\n\u8BF4\u660E\uFF1A\n --ref \u4F7F\u7528\u4ECE `nolo browser read-page` \u590D\u5236\u7684 elementRef\uFF08\u4EC5\u9002\u7528\u4E8E\u5BF9\u5E94\u4FEE\u8BA2\uFF0C\n \u4F18\u5148\u4E8E --selector\uFF09\uFF1B--selector \u4F7F\u7528 CSS \u9009\u62E9\u5668\u3002\n \u8FDE\u63A5\u5668\u5224\u5B9A\u4E3A\u4E0D\u53EF\u9006\u7684\u52A8\u4F5C\uFF08\u4ED8\u6B3E / \u53D1\u9001 / \u5220\u9664 / \u53D1\u5E03 / \u6388\u6743\uFF09\u4F1A\u5728\u6D4F\u89C8\u5668\u91CC\u53D1\u8D77\u786E\u8BA4\u8BF7\u6C42\uFF0C\n \u8FD4\u56DE USER_APPROVAL_PENDING \u4E0E\u4E00\u4E2A approvalId\uFF1A\n \u7528\u6237\u5728\u90A3\u91CC\u70B9\u300C\u5141\u8BB8\u4E00\u6B21\u300D\u540E\uFF0C\u518D\u7528 --approval-id <id> \u91CD\u8DD1\u540C\u4E00\u6761\u547D\u4EE4\u3002\n \u8BE5 id \u4E0D\u662F\u6388\u6743\u51ED\u8BC1\u2014\u2014\u53EA\u662F\u7528\u6237\u5DF2\u505A\u51B3\u5B9A\u7684\u67E5\u8BE2\u952E\u3002\n prepare-action \u4E3A\u5BBF\u4E3B\u540C\u610F\u6821\u9A8C\u51C6\u5907\u4E0D\u53EF\u53D8\u7684\u52A8\u4F5C\u6311\u6218\u7ED1\u5B9A\uFF1B\n \u5B83\u4E25\u683C\u53EA\u8BFB\uFF0C\u4E0D\u6267\u884C\u4FEE\u6539\uFF0C\u4E5F\u4E0D\u6388\u4E88\u6279\u51C6\u3002\n read-console / read-network / upload \u4EC5\u652F\u6301 Chrome\uFF08Firefox \u7F3A\u5C11 chrome.debugger\uFF09\u3002\n --browser chrome|firefox \u9009\u62E9\u8FDE\u63A5\u5668\u7AEF\u70B9\uFF08\u9ED8\u8BA4\u81EA\u52A8\u63A2\u6D4B\u552F\u4E00\u5728\u7EBF\u6D4F\u89C8\u5668\uFF1A\n chrome = 127.0.0.1:38947\uFF0Cfirefox = 127.0.0.1:38948\uFF09\uFF1B\n \u6D4F\u89C8\u5668\u4E0D\u5339\u914D\u65F6\u4F1A\u62D2\u7EDD\u8C03\u7528\u3002\n \u6BCF\u4E2A\u5B50\u547D\u4EE4\u8F93\u51FA\u8FDE\u63A5\u5668\u7684\u539F\u59CB JSON \u7ED3\u679C\uFF1B\u5931\u8D25\u65F6\u9000\u51FA\u7801\u4E3A 1\u3002\n \u7AEF\u70B9\uFF1ANOLO_CHROME_CONNECTOR_RPC_URL \u6216\u6309\u6D4F\u89C8\u5668\u8BBE\u7F6E NOLO_CHROME_CONNECTOR_PORT /\n NOLO_FIREFOX_CONNECTOR_PORT\uFF08\u9ED8\u8BA4 http://127.0.0.1:38947/rpc\uFF09\u3002"
1608
+ "en": '\nNotes:\n --ref takes an elementRef copied from `nolo browser read-page` (revision-scoped,\n preferred over --selector); --selector takes a CSS selector.\n Actions the connector classifies as irreversible (pay / send / delete / publish / permission)\n open a confirmation request in the browser and return USER_APPROVAL_PENDING with an approvalId:\n the user clicks "Allow once" there, then rerun the same command with --approval-id <id>.\n That id is not an authorization \u2014 only the lookup key for the decision the user already made.\n prepare-action prepares an immutable action challenge binding for host consent verification;\n it is strictly read-only, never executes mutations, and does not grant approval.\n read-console / read-network / upload work on Chrome only (Firefox lacks chrome.debugger).\n eval runs JS in the tab and also works on Chrome only; every single execution must be\n approved by the user in the browser (it is not a standing grant, --approval-id only\n completes one approval the user already clicked). Script results can contain sensitive\n page data: never forward them to third parties.\n --browser chrome|firefox selects which connector endpoint serves the call (default\n auto-detects single online browser: chrome = 127.0.0.1:38947, firefox = 127.0.0.1:38948);\n the wrong browser is refused.\n Every subcommand prints the connector\'s raw JSON result; failures exit 1.\n Endpoint: NOLO_CHROME_CONNECTOR_RPC_URL or per-browser NOLO_CHROME_CONNECTOR_PORT /\n NOLO_FIREFOX_CONNECTOR_PORT (default http://127.0.0.1:38947/rpc).',
1609
+ "zh": "\n\u8BF4\u660E\uFF1A\n --ref \u4F7F\u7528\u4ECE `nolo browser read-page` \u590D\u5236\u7684 elementRef\uFF08\u4EC5\u9002\u7528\u4E8E\u5BF9\u5E94\u4FEE\u8BA2\uFF0C\n \u4F18\u5148\u4E8E --selector\uFF09\uFF1B--selector \u4F7F\u7528 CSS \u9009\u62E9\u5668\u3002\n \u8FDE\u63A5\u5668\u5224\u5B9A\u4E3A\u4E0D\u53EF\u9006\u7684\u52A8\u4F5C\uFF08\u4ED8\u6B3E / \u53D1\u9001 / \u5220\u9664 / \u53D1\u5E03 / \u6388\u6743\uFF09\u4F1A\u5728\u6D4F\u89C8\u5668\u91CC\u53D1\u8D77\u786E\u8BA4\u8BF7\u6C42\uFF0C\n \u8FD4\u56DE USER_APPROVAL_PENDING \u4E0E\u4E00\u4E2A approvalId\uFF1A\n \u7528\u6237\u5728\u90A3\u91CC\u70B9\u300C\u5141\u8BB8\u4E00\u6B21\u300D\u540E\uFF0C\u518D\u7528 --approval-id <id> \u91CD\u8DD1\u540C\u4E00\u6761\u547D\u4EE4\u3002\n \u8BE5 id \u4E0D\u662F\u6388\u6743\u51ED\u8BC1\u2014\u2014\u53EA\u662F\u7528\u6237\u5DF2\u505A\u51B3\u5B9A\u7684\u67E5\u8BE2\u952E\u3002\n prepare-action \u4E3A\u5BBF\u4E3B\u540C\u610F\u6821\u9A8C\u51C6\u5907\u4E0D\u53EF\u53D8\u7684\u52A8\u4F5C\u6311\u6218\u7ED1\u5B9A\uFF1B\n \u5B83\u4E25\u683C\u53EA\u8BFB\uFF0C\u4E0D\u6267\u884C\u4FEE\u6539\uFF0C\u4E5F\u4E0D\u6388\u4E88\u6279\u51C6\u3002\n read-console / read-network / upload \u4EC5\u652F\u6301 Chrome\uFF08Firefox \u7F3A\u5C11 chrome.debugger\uFF09\u3002\n eval \u5728\u6807\u7B7E\u9875\u91CC\u6267\u884C JS\uFF0C\u540C\u6837\u4EC5\u652F\u6301 Chrome\uFF1B\u6BCF\u6B21\u6267\u884C\u90FD\u5FC5\u987B\u5728\u6D4F\u89C8\u5668\u91CC\u4EBA\u5DE5\u6279\u51C6\u4E00\u6B21\n \uFF08\u4E0D\u662F\u5E38\u9A7B\u6388\u6743\uFF0C--approval-id \u53EA\u662F\u5B8C\u6210\u7528\u6237\u5DF2\u7ECF\u70B9\u8FC7\u7684\u90A3\u4E00\u6B21\u6279\u51C6\uFF09\u3002\u811A\u672C\u7ED3\u679C\u53EF\u80FD\n \u5305\u542B\u9875\u9762\u7684\u654F\u611F\u6570\u636E\uFF0C\u4E0D\u8981\u5916\u4F20\u3002\n --browser chrome|firefox \u9009\u62E9\u8FDE\u63A5\u5668\u7AEF\u70B9\uFF08\u9ED8\u8BA4\u81EA\u52A8\u63A2\u6D4B\u552F\u4E00\u5728\u7EBF\u6D4F\u89C8\u5668\uFF1A\n chrome = 127.0.0.1:38947\uFF0Cfirefox = 127.0.0.1:38948\uFF09\uFF1B\n \u6D4F\u89C8\u5668\u4E0D\u5339\u914D\u65F6\u4F1A\u62D2\u7EDD\u8C03\u7528\u3002\n \u6BCF\u4E2A\u5B50\u547D\u4EE4\u8F93\u51FA\u8FDE\u63A5\u5668\u7684\u539F\u59CB JSON \u7ED3\u679C\uFF1B\u5931\u8D25\u65F6\u9000\u51FA\u7801\u4E3A 1\u3002\n \u7AEF\u70B9\uFF1ANOLO_CHROME_CONNECTOR_RPC_URL \u6216\u6309\u6D4F\u89C8\u5668\u8BBE\u7F6E NOLO_CHROME_CONNECTOR_PORT /\n NOLO_FIREFOX_CONNECTOR_PORT\uFF08\u9ED8\u8BA4 http://127.0.0.1:38947/rpc\uFF09\u3002"
1602
1610
  }
1603
1611
  };
1604
1612
 
@@ -2534,6 +2542,526 @@ var COMMAND_DESCRIPTIONS = {
2534
2542
  "auth devin": {
2535
2543
  en: "Authorize Devin OAuth (Free SWE-2)",
2536
2544
  zh: "\u6388\u6743 Devin OAuth\uFF08\u514D\u8D39 SWE-2\uFF09"
2545
+ },
2546
+ "run": {
2547
+ en: "Run a no-login local agent in this workspace",
2548
+ zh: "\u5728\u5DE5\u4F5C\u533A\u4E2D\u8FD0\u884C\u514D\u767B\u5F55\u7684\u672C\u5730\u667A\u80FD\u4F53"
2549
+ },
2550
+ "chat": {
2551
+ en: "Chat with an agent",
2552
+ zh: "\u4E0E\u667A\u80FD\u4F53\u5BF9\u8BDD"
2553
+ },
2554
+ "agent list": {
2555
+ en: "List owned agents",
2556
+ zh: "\u5217\u51FA\u6211\u62E5\u6709\u7684\u667A\u80FD\u4F53"
2557
+ },
2558
+ "agent create": {
2559
+ en: "Create a new agent",
2560
+ zh: "\u521B\u5EFA\u65B0\u667A\u80FD\u4F53"
2561
+ },
2562
+ "agent models": {
2563
+ en: "List models: --preset <id> (server discovery, exit 1 on static fallback) or --url <base> --api-key <key> (OpenAI-compatible /models)",
2564
+ zh: "\u5217\u51FA\u53EF\u7528\u6A21\u578B\uFF1A--preset <id>\uFF08\u670D\u52A1\u7AEF\u53D1\u73B0\uFF0C\u9000\u56DE\u9759\u6001\u5217\u8868\u65F6\u4EE5\u9000\u51FA\u7801 1 \u7ED3\u675F\uFF09\u6216 --url <base> --api-key <key>\uFF08OpenAI \u517C\u5BB9\u7684 /models\uFF09"
2565
+ },
2566
+ "agent providers": {
2567
+ en: "List agent-creation provider presets (subscription / metered / oauth)",
2568
+ zh: "\u5217\u51FA\u667A\u80FD\u4F53\u521B\u5EFA\u7684\u670D\u52A1\u5546\u9884\u8BBE\uFF08subscription / metered / oauth\uFF09"
2569
+ },
2570
+ "agent pull": {
2571
+ en: "Cache an agent for local runs",
2572
+ zh: "\u7F13\u5B58\u667A\u80FD\u4F53\u4EE5\u4F9B\u672C\u5730\u8FD0\u884C"
2573
+ },
2574
+ "agent read": {
2575
+ en: "Read a single agent",
2576
+ zh: "\u8BFB\u53D6\u5355\u4E2A\u667A\u80FD\u4F53"
2577
+ },
2578
+ "agent run": {
2579
+ en: "Run an agent",
2580
+ zh: "\u8FD0\u884C\u667A\u80FD\u4F53"
2581
+ },
2582
+ "agent ps": {
2583
+ en: "List active and recent local agent runs (--json for machine-readable output)",
2584
+ zh: "\u5217\u51FA\u6D3B\u8DC3\u4E0E\u8FD1\u671F\u7684\u672C\u5730\u667A\u80FD\u4F53\u8FD0\u884C\uFF08--json \u8F93\u51FA\u673A\u5668\u53EF\u8BFB\u683C\u5F0F\uFF09"
2585
+ },
2586
+ "agent status": {
2587
+ en: "Show status of a local agent run (--json, --watch, --interval-ms N)",
2588
+ zh: "\u67E5\u770B\u672C\u5730\u667A\u80FD\u4F53\u8FD0\u884C\u72B6\u6001\uFF08--json\u3001--watch\u3001--interval-ms N\uFF09"
2589
+ },
2590
+ "agent logs": {
2591
+ en: "Show logs of a local agent run",
2592
+ zh: "\u67E5\u770B\u672C\u5730\u667A\u80FD\u4F53\u8FD0\u884C\u7684\u65E5\u5FD7"
2593
+ },
2594
+ "agent stop": {
2595
+ en: "Stop a local agent run",
2596
+ zh: "\u505C\u6B62\u672C\u5730\u667A\u80FD\u4F53\u8FD0\u884C"
2597
+ },
2598
+ "agent kill": {
2599
+ en: "Kill a local agent run",
2600
+ zh: "\u5F3A\u5236\u7ED3\u675F\u672C\u5730\u667A\u80FD\u4F53\u8FD0\u884C"
2601
+ },
2602
+ "agent setup-offline-marxists": {
2603
+ en: "Create or update the Marxists.org offline book agent",
2604
+ zh: "\u521B\u5EFA\u6216\u66F4\u65B0 Marxists.org \u79BB\u7EBF\u56FE\u4E66\u667A\u80FD\u4F53"
2605
+ },
2606
+ "agent update": {
2607
+ en: "Update agent fields",
2608
+ zh: "\u66F4\u65B0\u667A\u80FD\u4F53\u5B57\u6BB5"
2609
+ },
2610
+ "agent email provision": {
2611
+ en: "Provision a controlled inbox for an agent",
2612
+ zh: "\u4E3A\u667A\u80FD\u4F53\u5206\u914D\u53D7\u63A7\u6536\u4EF6\u7BB1"
2613
+ },
2614
+ "agent email bind": {
2615
+ en: "Bind an existing email address to an agent",
2616
+ zh: "\u628A\u5DF2\u6709\u90AE\u7BB1\u5730\u5740\u7ED1\u5B9A\u5230\u667A\u80FD\u4F53"
2617
+ },
2618
+ "agent email transfer": {
2619
+ en: "Transfer an email identity from one agent to another (cross-account)",
2620
+ zh: "\u5C06\u90AE\u7BB1\u8EAB\u4EFD\u4ECE\u4E00\u4E2A\u667A\u80FD\u4F53\u8F6C\u79FB\u5230\u53E6\u4E00\u4E2A\uFF08\u8DE8\u8D26\u53F7\uFF09"
2621
+ },
2622
+ "agent email create-and-provision": {
2623
+ en: "Create an agent and provision its controlled inbox",
2624
+ zh: "\u521B\u5EFA\u667A\u80FD\u4F53\u5E76\u4E3A\u5176\u5206\u914D\u53D7\u63A7\u6536\u4EF6\u7BB1"
2625
+ },
2626
+ "agent delete": {
2627
+ en: "Hard-delete an agent's private and public records",
2628
+ zh: "\u786C\u5220\u9664\u667A\u80FD\u4F53\u7684\u79C1\u6709\u4E0E\u516C\u5F00\u8BB0\u5F55"
2629
+ },
2630
+ "agent grant": {
2631
+ en: "Grant another user access to this agent's owner credentials",
2632
+ zh: "\u6388\u6743\u5176\u4ED6\u7528\u6237\u4F7F\u7528\u8BE5\u667A\u80FD\u4F53\u7684\u5C5E\u4E3B\u51ED\u8BC1"
2633
+ },
2634
+ "agent grants": {
2635
+ en: "List active credential grants for an agent",
2636
+ zh: "\u5217\u51FA\u8BE5\u667A\u80FD\u4F53\u751F\u6548\u4E2D\u7684\u51ED\u8BC1\u6388\u6743"
2637
+ },
2638
+ "agent revoke-grant": {
2639
+ en: "Revoke a credential grant for an agent",
2640
+ zh: "\u64A4\u9500\u8BE5\u667A\u80FD\u4F53\u7684\u67D0\u6761\u51ED\u8BC1\u6388\u6743"
2641
+ },
2642
+ "agent bind-current": {
2643
+ en: "Bind an agent to this machine",
2644
+ zh: "\u628A\u667A\u80FD\u4F53\u7ED1\u5B9A\u5230\u5F53\u524D\u673A\u5668"
2645
+ },
2646
+ "agent smoke-current": {
2647
+ en: "Smoke test a bound agent through this machine",
2648
+ zh: "\u901A\u8FC7\u5F53\u524D\u673A\u5668\u5BF9\u5DF2\u7ED1\u5B9A\u7684\u667A\u80FD\u4F53\u505A\u5192\u70DF\u6D4B\u8BD5"
2649
+ },
2650
+ "agent runtime-doctor": {
2651
+ en: "Diagnose current machine runtime compatibility",
2652
+ zh: "\u8BCA\u65AD\u5F53\u524D\u673A\u5668\u7684\u8FD0\u884C\u65F6\u517C\u5BB9\u6027"
2653
+ },
2654
+ "agent chat": {
2655
+ en: "Chat with an agent",
2656
+ zh: "\u4E0E\u667A\u80FD\u4F53\u5BF9\u8BDD"
2657
+ },
2658
+ "dialog search": {
2659
+ en: "Search dialog messages across dialogs",
2660
+ zh: "\u8DE8\u5BF9\u8BDD\u641C\u7D22\u6D88\u606F"
2661
+ },
2662
+ "dialog list": {
2663
+ en: "List dialogs (default --limit 50; --all/--limit 0 full; --jsonl streams)",
2664
+ zh: "\u5217\u51FA\u5BF9\u8BDD\uFF08\u9ED8\u8BA4 --limit 50\uFF1B--all / --limit 0 \u53D6\u5168\u90E8\uFF1B--jsonl \u6D41\u5F0F\u8F93\u51FA\uFF09"
2665
+ },
2666
+ "dialog delete": {
2667
+ en: "Delete one or more dialogs",
2668
+ zh: "\u5220\u9664\u4E00\u4E2A\u6216\u591A\u4E2A\u5BF9\u8BDD"
2669
+ },
2670
+ "dialog query": {
2671
+ en: "Query dialogs by subject refs (default --limit 50; --all full; --jsonl streams)",
2672
+ zh: "\u6309 subject \u5F15\u7528\u67E5\u8BE2\u5BF9\u8BDD\uFF08\u9ED8\u8BA4 --limit 50\uFF1B--all \u53D6\u5168\u90E8\uFF1B--jsonl \u6D41\u5F0F\u8F93\u51FA\uFF09"
2673
+ },
2674
+ "dialog read": {
2675
+ en: "Read a dialog",
2676
+ zh: "\u8BFB\u53D6\u4E00\u4E2A\u5BF9\u8BDD"
2677
+ },
2678
+ "dialog status": {
2679
+ en: "Read compact dialog status",
2680
+ zh: "\u8BFB\u53D6\u7CBE\u7B80\u7684\u5BF9\u8BDD\u72B6\u6001"
2681
+ },
2682
+ "doc create": {
2683
+ en: "Create a normal doc",
2684
+ zh: "\u521B\u5EFA\u666E\u901A\u6587\u6863"
2685
+ },
2686
+ "doc read": {
2687
+ en: "Read a normal doc",
2688
+ zh: "\u8BFB\u53D6\u666E\u901A\u6587\u6863"
2689
+ },
2690
+ "doc update": {
2691
+ en: "Update a normal doc",
2692
+ zh: "\u66F4\u65B0\u666E\u901A\u6587\u6863"
2693
+ },
2694
+ "doc delete": {
2695
+ en: "Delete a normal doc",
2696
+ zh: "\u5220\u9664\u666E\u901A\u6587\u6863"
2697
+ },
2698
+ "skill-doc create": {
2699
+ en: "Create a skill-backed doc",
2700
+ zh: "\u521B\u5EFA skill \u6587\u6863"
2701
+ },
2702
+ "skill create-doc": {
2703
+ en: "Create a skill-backed doc",
2704
+ zh: "\u521B\u5EFA skill \u6587\u6863"
2705
+ },
2706
+ "skill-doc read": {
2707
+ en: "Read a skill doc",
2708
+ zh: "\u8BFB\u53D6 skill \u6587\u6863"
2709
+ },
2710
+ "skill-doc update": {
2711
+ en: "Update a skill doc",
2712
+ zh: "\u66F4\u65B0 skill \u6587\u6863"
2713
+ },
2714
+ "skill-doc delete": {
2715
+ en: "Delete a skill doc",
2716
+ zh: "\u5220\u9664 skill \u6587\u6863"
2717
+ },
2718
+ "memory list": {
2719
+ en: "List long-term memories by filter",
2720
+ zh: "\u6309\u6761\u4EF6\u5217\u51FA\u957F\u671F\u8BB0\u5FC6"
2721
+ },
2722
+ "memory remember": {
2723
+ en: "Store a long-term memory",
2724
+ zh: "\u5199\u5165\u4E00\u6761\u957F\u671F\u8BB0\u5FC6"
2725
+ },
2726
+ "memory delete": {
2727
+ en: "Delete long-term memories by filter",
2728
+ zh: "\u6309\u6761\u4EF6\u5220\u9664\u957F\u671F\u8BB0\u5FC6"
2729
+ },
2730
+ "space create": {
2731
+ en: "Create a space",
2732
+ zh: "\u521B\u5EFA\u7A7A\u95F4"
2733
+ },
2734
+ "space invite": {
2735
+ en: "Invite an existing user to a space",
2736
+ zh: "\u9080\u8BF7\u5DF2\u6709\u7528\u6237\u52A0\u5165\u7A7A\u95F4"
2737
+ },
2738
+ "space accept-invite": {
2739
+ en: "Accept a space invite",
2740
+ zh: "\u63A5\u53D7\u7A7A\u95F4\u9080\u8BF7"
2741
+ },
2742
+ "space upload": {
2743
+ en: "Upload a file to a space",
2744
+ zh: "\u4E0A\u4F20\u6587\u4EF6\u5230\u7A7A\u95F4"
2745
+ },
2746
+ "table": {
2747
+ en: "Show table command help",
2748
+ zh: "\u663E\u793A table \u547D\u4EE4\u5E2E\u52A9"
2749
+ },
2750
+ "table delete-rows": {
2751
+ en: "Delete table rows",
2752
+ zh: "\u5220\u9664\u8868\u683C\u884C"
2753
+ },
2754
+ "table purge-rows": {
2755
+ en: "Permanently purge table rows",
2756
+ zh: "\u5F7B\u5E95\u6E05\u9664\u8868\u683C\u884C"
2757
+ },
2758
+ "table remove-row-fields": {
2759
+ en: "Remove fields from table rows",
2760
+ zh: "\u4ECE\u8868\u683C\u884C\u4E2D\u79FB\u9664\u5B57\u6BB5"
2761
+ },
2762
+ "table add-column": {
2763
+ en: "Add a table column",
2764
+ zh: "\u65B0\u589E\u8868\u683C\u5217"
2765
+ },
2766
+ "table add-row": {
2767
+ en: "Add a table row",
2768
+ zh: "\u65B0\u589E\u8868\u683C\u884C"
2769
+ },
2770
+ "table add-rows": {
2771
+ en: "Add table rows",
2772
+ zh: "\u6279\u91CF\u65B0\u589E\u8868\u683C\u884C"
2773
+ },
2774
+ "table update-row": {
2775
+ en: "Update a table row",
2776
+ zh: "\u66F4\u65B0\u8868\u683C\u884C"
2777
+ },
2778
+ "table update-rows": {
2779
+ en: "Update table rows",
2780
+ zh: "\u6279\u91CF\u66F4\u65B0\u8868\u683C\u884C"
2781
+ },
2782
+ "table delete-row": {
2783
+ en: "Delete a table row",
2784
+ zh: "\u5220\u9664\u8868\u683C\u884C"
2785
+ },
2786
+ "app list": {
2787
+ en: "List your apps",
2788
+ zh: "\u5217\u51FA\u6211\u7684\u5E94\u7528"
2789
+ },
2790
+ "app get": {
2791
+ en: "Get app details",
2792
+ zh: "\u83B7\u53D6\u5E94\u7528\u8BE6\u60C5"
2793
+ },
2794
+ "app deploy": {
2795
+ en: "Deploy an app",
2796
+ zh: "\u90E8\u7F72\u5E94\u7528"
2797
+ },
2798
+ "app deploy status": {
2799
+ en: "Check app deploy status",
2800
+ zh: "\u67E5\u770B\u5E94\u7528\u90E8\u7F72\u72B6\u6001"
2801
+ },
2802
+ "app delete": {
2803
+ en: "Delete an app",
2804
+ zh: "\u5220\u9664\u5E94\u7528"
2805
+ },
2806
+ "table list": {
2807
+ en: "List table metadata",
2808
+ zh: "\u5217\u51FA\u8868\u683C\u5143\u6570\u636E"
2809
+ },
2810
+ "table query": {
2811
+ en: "Query table rows",
2812
+ zh: "\u67E5\u8BE2\u8868\u683C\u884C"
2813
+ },
2814
+ "browser status": {
2815
+ en: "Show Nolo Browser Connector status (native host manifest, token, live connection)",
2816
+ zh: "\u663E\u793A Nolo \u6D4F\u89C8\u5668\u8FDE\u63A5\u5668\u72B6\u6001\uFF08\u539F\u751F host manifest\u3001\u4EE4\u724C\u3001\u5728\u7EBF\u8FDE\u63A5\uFF09"
2817
+ },
2818
+ "browser install": {
2819
+ en: "Install the native messaging host manifest for this user (--browser chrome|firefox)",
2820
+ zh: "\u4E3A\u5F53\u524D\u7528\u6237\u5B89\u88C5\u539F\u751F\u6D88\u606F host manifest\uFF08--browser chrome|firefox\uFF09"
2821
+ },
2822
+ "browser reload": {
2823
+ en: "Reload the connector extension through the running native host",
2824
+ zh: "\u901A\u8FC7\u8FD0\u884C\u4E2D\u7684\u539F\u751F host \u91CD\u8F7D\u8FDE\u63A5\u5668\u6269\u5C55"
2825
+ },
2826
+ "browser list-tabs": {
2827
+ en: "List controllable browser tabs",
2828
+ zh: "\u5217\u51FA\u53EF\u63A7\u5236\u7684\u6D4F\u89C8\u5668\u6807\u7B7E\u9875"
2829
+ },
2830
+ "browser open-tab": {
2831
+ en: "Open a URL in a new tab (--url <url> [--active])",
2832
+ zh: "\u5728\u65B0\u6807\u7B7E\u9875\u4E2D\u6253\u5F00 URL\uFF08--url <url> [--active]\uFF09"
2833
+ },
2834
+ "browser close-tab": {
2835
+ en: "Close a tab (--tab <id>)",
2836
+ zh: "\u5173\u95ED\u6807\u7B7E\u9875\uFF08--tab <id>\uFF09"
2837
+ },
2838
+ "browser read-page": {
2839
+ en: "Read a tab's text and interactive elements as elementRefs (--tab <id> [--offset N] [--viewport])",
2840
+ zh: "\u4EE5 elementRefs \u8BFB\u53D6\u6807\u7B7E\u9875\u7684\u6587\u672C\u4E0E\u53EF\u4EA4\u4E92\u5143\u7D20\uFF08--tab <id> [--offset N] [--viewport]\uFF09"
2841
+ },
2842
+ "browser click": {
2843
+ en: "Click an element (--tab <id> --ref|--selector)",
2844
+ zh: "\u70B9\u51FB\u5143\u7D20\uFF08--tab <id> --ref|--selector\uFF09"
2845
+ },
2846
+ "browser type": {
2847
+ en: "Type text into an element (--tab <id> --ref|--selector --text <text>)",
2848
+ zh: "\u5411\u5143\u7D20\u8F93\u5165\u6587\u672C\uFF08--tab <id> --ref|--selector --text <text>\uFF09"
2849
+ },
2850
+ "browser select": {
2851
+ en: "Set a native <select> value and verify it (--tab <id> --ref|--selector --value <v>|--label <l>)",
2852
+ zh: "\u8BBE\u7F6E\u539F\u751F <select> \u7684\u503C\u5E76\u6821\u9A8C\uFF08--tab <id> --ref|--selector --value <v>|--label <l>\uFF09"
2853
+ },
2854
+ "browser upload": {
2855
+ en: "Upload files to a file input element (--tab <id> --ref|--selector --file <path>)",
2856
+ zh: "\u4E0A\u4F20\u6587\u4EF6\u5230\u6587\u4EF6\u8F93\u5165\u5143\u7D20\uFF08--tab <id> --ref|--selector --file <path>\uFF09"
2857
+ },
2858
+ "browser press": {
2859
+ en: "Press a keyboard key (--tab <id> --key <key>)",
2860
+ zh: "\u6309\u4E0B\u952E\u76D8\u6309\u952E\uFF08--tab <id> --key <key>\uFF09"
2861
+ },
2862
+ "browser scroll": {
2863
+ en: "Scroll a tab or observe a container (--tab <id> [--selector <css>] [--delta-x N] [--delta-y N])",
2864
+ zh: "\u6EDA\u52A8\u6807\u7B7E\u9875\u6216\u89C2\u5BDF\u5BB9\u5668\uFF08--tab <id> [--selector <css>] [--delta-x N] [--delta-y N]\uFF09"
2865
+ },
2866
+ "browser screenshot": {
2867
+ en: "Capture a screenshot (--tab <id> [--out <path>])",
2868
+ zh: "\u622A\u53D6\u5C4F\u5E55\u622A\u56FE\uFF08--tab <id> [--out <path>]\uFF09"
2869
+ },
2870
+ "browser read-console": {
2871
+ en: "Read recent console entries (--tab <id>)",
2872
+ zh: "\u8BFB\u53D6\u6700\u8FD1\u7684\u63A7\u5236\u53F0\u6761\u76EE\uFF08--tab <id>\uFF09"
2873
+ },
2874
+ "browser read-network": {
2875
+ en: "Read recent network entries (--tab <id>)",
2876
+ zh: "\u8BFB\u53D6\u6700\u8FD1\u7684\u7F51\u7EDC\u6761\u76EE\uFF08--tab <id>\uFF09"
2877
+ },
2878
+ "browser eval": {
2879
+ en: "Evaluate JS in a tab, user-approved per call (--tab <id> --expr <js> [--await] [--timeout-ms N])",
2880
+ zh: "\u5728\u6807\u7B7E\u9875\u4E2D\u6267\u884C JS\uFF0C\u6BCF\u6B21\u8C03\u7528\u9700\u7528\u6237\u6279\u51C6\uFF08--tab <id> --expr <js> [--await] [--timeout-ms N]\uFF09"
2881
+ },
2882
+ "chrome status": {
2883
+ en: "Show Nolo Browser Connector status (native host manifest, token, live connection) (Compatibility alias of `nolo browser status`)",
2884
+ zh: "\u663E\u793A Nolo \u6D4F\u89C8\u5668\u8FDE\u63A5\u5668\u72B6\u6001\uFF08\u539F\u751F host manifest\u3001\u4EE4\u724C\u3001\u5728\u7EBF\u8FDE\u63A5\uFF09\uFF08`nolo browser status` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2885
+ },
2886
+ "chrome install": {
2887
+ en: "Install the native messaging host manifest for this user (--browser chrome|firefox) (Compatibility alias of `nolo browser install`)",
2888
+ zh: "\u4E3A\u5F53\u524D\u7528\u6237\u5B89\u88C5\u539F\u751F\u6D88\u606F host manifest\uFF08--browser chrome|firefox\uFF09\uFF08`nolo browser install` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2889
+ },
2890
+ "chrome reload": {
2891
+ en: "Reload the connector extension through the running native host (Compatibility alias of `nolo browser reload`)",
2892
+ zh: "\u901A\u8FC7\u8FD0\u884C\u4E2D\u7684\u539F\u751F host \u91CD\u8F7D\u8FDE\u63A5\u5668\u6269\u5C55\uFF08`nolo browser reload` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2893
+ },
2894
+ "chrome list-tabs": {
2895
+ en: "List controllable browser tabs (Compatibility alias of `nolo browser list-tabs`)",
2896
+ zh: "\u5217\u51FA\u53EF\u63A7\u5236\u7684\u6D4F\u89C8\u5668\u6807\u7B7E\u9875\uFF08`nolo browser list-tabs` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2897
+ },
2898
+ "chrome open-tab": {
2899
+ en: "Open a URL in a new tab (--url <url> [--active]) (Compatibility alias of `nolo browser open-tab`)",
2900
+ zh: "\u5728\u65B0\u6807\u7B7E\u9875\u4E2D\u6253\u5F00 URL\uFF08--url <url> [--active]\uFF09\uFF08`nolo browser open-tab` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2901
+ },
2902
+ "chrome close-tab": {
2903
+ en: "Close a tab (--tab <id>) (Compatibility alias of `nolo browser close-tab`)",
2904
+ zh: "\u5173\u95ED\u6807\u7B7E\u9875\uFF08--tab <id>\uFF09\uFF08`nolo browser close-tab` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2905
+ },
2906
+ "chrome read-page": {
2907
+ en: "Read a tab's text and interactive elements as elementRefs (--tab <id> [--offset N] [--viewport]) (Compatibility alias of `nolo browser read-page`)",
2908
+ zh: "\u4EE5 elementRefs \u8BFB\u53D6\u6807\u7B7E\u9875\u7684\u6587\u672C\u4E0E\u53EF\u4EA4\u4E92\u5143\u7D20\uFF08--tab <id> [--offset N] [--viewport]\uFF09\uFF08`nolo browser read-page` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2909
+ },
2910
+ "chrome click": {
2911
+ en: "Click an element (--tab <id> --ref|--selector) (Compatibility alias of `nolo browser click`)",
2912
+ zh: "\u70B9\u51FB\u5143\u7D20\uFF08--tab <id> --ref|--selector\uFF09\uFF08`nolo browser click` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2913
+ },
2914
+ "chrome type": {
2915
+ en: "Type text into an element (--tab <id> --ref|--selector --text <text>) (Compatibility alias of `nolo browser type`)",
2916
+ zh: "\u5411\u5143\u7D20\u8F93\u5165\u6587\u672C\uFF08--tab <id> --ref|--selector --text <text>\uFF09\uFF08`nolo browser type` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2917
+ },
2918
+ "chrome select": {
2919
+ en: "Set a native <select> value and verify it (--tab <id> --ref|--selector --value <v>|--label <l>) (Compatibility alias of `nolo browser select`)",
2920
+ zh: "\u8BBE\u7F6E\u539F\u751F <select> \u7684\u503C\u5E76\u6821\u9A8C\uFF08--tab <id> --ref|--selector --value <v>|--label <l>\uFF09\uFF08`nolo browser select` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2921
+ },
2922
+ "chrome upload": {
2923
+ en: "Upload files to a file input element (--tab <id> --ref|--selector --file <path>) (Compatibility alias of `nolo browser upload`)",
2924
+ zh: "\u4E0A\u4F20\u6587\u4EF6\u5230\u6587\u4EF6\u8F93\u5165\u5143\u7D20\uFF08--tab <id> --ref|--selector --file <path>\uFF09\uFF08`nolo browser upload` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2925
+ },
2926
+ "chrome press": {
2927
+ en: "Press a keyboard key (--tab <id> --key <key>) (Compatibility alias of `nolo browser press`)",
2928
+ zh: "\u6309\u4E0B\u952E\u76D8\u6309\u952E\uFF08--tab <id> --key <key>\uFF09\uFF08`nolo browser press` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2929
+ },
2930
+ "chrome scroll": {
2931
+ en: "Scroll a tab or observe a container (--tab <id> [--selector <css>] [--delta-x N] [--delta-y N]) (Compatibility alias of `nolo browser scroll`)",
2932
+ zh: "\u6EDA\u52A8\u6807\u7B7E\u9875\u6216\u89C2\u5BDF\u5BB9\u5668\uFF08--tab <id> [--selector <css>] [--delta-x N] [--delta-y N]\uFF09\uFF08`nolo browser scroll` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2933
+ },
2934
+ "chrome screenshot": {
2935
+ en: "Capture a screenshot (--tab <id> [--out <path>]) (Compatibility alias of `nolo browser screenshot`)",
2936
+ zh: "\u622A\u53D6\u5C4F\u5E55\u622A\u56FE\uFF08--tab <id> [--out <path>]\uFF09\uFF08`nolo browser screenshot` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2937
+ },
2938
+ "chrome read-console": {
2939
+ en: "Read recent console entries (--tab <id>) (Compatibility alias of `nolo browser read-console`)",
2940
+ zh: "\u8BFB\u53D6\u6700\u8FD1\u7684\u63A7\u5236\u53F0\u6761\u76EE\uFF08--tab <id>\uFF09\uFF08`nolo browser read-console` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2941
+ },
2942
+ "chrome read-network": {
2943
+ en: "Read recent network entries (--tab <id>) (Compatibility alias of `nolo browser read-network`)",
2944
+ zh: "\u8BFB\u53D6\u6700\u8FD1\u7684\u7F51\u7EDC\u6761\u76EE\uFF08--tab <id>\uFF09\uFF08`nolo browser read-network` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2945
+ },
2946
+ "chrome eval": {
2947
+ en: "Evaluate JS in a tab, user-approved per call (--tab <id> --expr <js> [--await] [--timeout-ms N]) (Compatibility alias of `nolo browser eval`)",
2948
+ zh: "\u5728\u6807\u7B7E\u9875\u4E2D\u6267\u884C JS\uFF0C\u6BCF\u6B21\u8C03\u7528\u9700\u7528\u6237\u6279\u51C6\uFF08--tab <id> --expr <js> [--await] [--timeout-ms N]\uFF09\uFF08`nolo browser eval` \u7684\u517C\u5BB9\u522B\u540D\uFF09"
2949
+ },
2950
+ "ci status": {
2951
+ en: "Show recent nolo-ci deploy jobs (alpha / main)",
2952
+ zh: "\u67E5\u770B\u6700\u8FD1\u7684 nolo-ci \u90E8\u7F72\u4EFB\u52A1\uFF08alpha / main\uFF09"
2953
+ },
2954
+ "dialog usage": {
2955
+ en: "Show dialog tokens, recorded duration and speed by basis",
2956
+ zh: "\u663E\u793A\u5BF9\u8BDD\u7684 token \u6570\u3001\u8BB0\u5F55\u65F6\u957F\u4E0E\u6309\u57FA\u51C6\u8BA1\u7B97\u7684\u901F\u5EA6"
2957
+ },
2958
+ "login": {
2959
+ en: "Log in to Nolo",
2960
+ zh: "\u767B\u5F55 Nolo"
2961
+ },
2962
+ "logout": {
2963
+ en: "Log out of Nolo",
2964
+ zh: "\u9000\u51FA Nolo \u767B\u5F55"
2965
+ },
2966
+ "whoami": {
2967
+ en: "Show the current login state",
2968
+ zh: "\u663E\u793A\u5F53\u524D\u767B\u5F55\u72B6\u6001"
2969
+ },
2970
+ "connect": {
2971
+ en: "Send machine heartbeats or hold a connector websocket",
2972
+ zh: "\u53D1\u9001\u673A\u5668\u5FC3\u8DF3\u6216\u4FDD\u6301\u8FDE\u63A5\u5668 WebSocket"
2973
+ },
2974
+ "daemon": {
2975
+ en: "Run the connector daemon shortcut",
2976
+ zh: "\u8FD0\u884C\u8FDE\u63A5\u5668\u5B88\u62A4\u8FDB\u7A0B\u5FEB\u6377\u65B9\u5F0F"
2977
+ },
2978
+ "machine status": {
2979
+ en: "List machines registered to the current profile",
2980
+ zh: "\u5217\u51FA\u6CE8\u518C\u5230\u5F53\u524D\u914D\u7F6E\u7684\u673A\u5668"
2981
+ },
2982
+ "doctor runtime": {
2983
+ en: "Diagnose local-first agent runtime selection",
2984
+ zh: "\u8BCA\u65AD\u672C\u5730\u4F18\u5148\u667A\u80FD\u4F53\u8FD0\u884C\u65F6\u7684\u9009\u62E9\u7ED3\u679C"
2985
+ },
2986
+ "doctor": {
2987
+ en: "Show CLI doctor information",
2988
+ zh: "\u663E\u793A CLI \u8BCA\u65AD\u4FE1\u606F"
2989
+ },
2990
+ "secret": {
2991
+ en: "Manage local developer secrets (~/.nolo/credentials/secrets.json)",
2992
+ zh: "\u7BA1\u7406\u672C\u5730\u5F00\u53D1\u8005\u5BC6\u94A5\uFF08~/.nolo/credentials/secrets.json\uFF09"
2993
+ },
2994
+ "version": {
2995
+ en: "Show CLI version",
2996
+ zh: "\u663E\u793A CLI \u7248\u672C"
2997
+ },
2998
+ "--version": {
2999
+ en: "Show CLI version",
3000
+ zh: "\u663E\u793A CLI \u7248\u672C"
3001
+ },
3002
+ "-v": {
3003
+ en: "Show CLI version",
3004
+ zh: "\u663E\u793A CLI \u7248\u672C"
3005
+ },
3006
+ "--help": {
3007
+ en: "Show help",
3008
+ zh: "\u663E\u793A\u5E2E\u52A9"
3009
+ },
3010
+ "-h": {
3011
+ en: "Show help",
3012
+ zh: "\u663E\u793A\u5E2E\u52A9"
3013
+ },
3014
+ "space list": {
3015
+ en: "List joined spaces",
3016
+ zh: "\u5217\u51FA\u5DF2\u52A0\u5165\u7684\u7A7A\u95F4"
3017
+ },
3018
+ "space read": {
3019
+ en: "Read a space",
3020
+ zh: "\u8BFB\u53D6\u7A7A\u95F4"
3021
+ },
3022
+ "space delete": {
3023
+ en: "Delete spaces by safe filters",
3024
+ zh: "\u6309\u5B89\u5168\u6761\u4EF6\u5220\u9664\u7A7A\u95F4"
3025
+ },
3026
+ "space category": {
3027
+ en: "Create or update a space category",
3028
+ zh: "\u521B\u5EFA\u6216\u66F4\u65B0\u7A7A\u95F4\u5206\u7C7B"
3029
+ },
3030
+ "space content-category": {
3031
+ en: "Move content into a space category",
3032
+ zh: "\u628A\u5185\u5BB9\u79FB\u5165\u7A7A\u95F4\u5206\u7C7B"
3033
+ },
3034
+ "table meta": {
3035
+ en: "Create or update table metadata",
3036
+ zh: "\u521B\u5EFA\u6216\u66F4\u65B0\u8868\u683C\u5143\u6570\u636E"
3037
+ },
3038
+ "agent unpublish": {
3039
+ en: "Remove an agent's public record",
3040
+ zh: "\u79FB\u9664\u667A\u80FD\u4F53\u7684\u516C\u5F00\u8BB0\u5F55"
3041
+ },
3042
+ "agent dialogs": {
3043
+ en: "Inspect recent dialogs for an agent",
3044
+ zh: "\u67E5\u770B\u667A\u80FD\u4F53\u6700\u8FD1\u7684\u5BF9\u8BDD"
3045
+ },
3046
+ "agent doctor": {
3047
+ en: "Audit agent workspace health",
3048
+ zh: "\u5BA1\u8BA1\u667A\u80FD\u4F53\u5DE5\u4F5C\u533A\u7684\u5065\u5EB7\u72B6\u51B5"
3049
+ },
3050
+ "agent create-custom": {
3051
+ en: "Create a custom coding agent",
3052
+ zh: "\u521B\u5EFA\u81EA\u5B9A\u4E49\u7F16\u7801\u667A\u80FD\u4F53"
3053
+ },
3054
+ "agent create-space": {
3055
+ en: "Create or attach shared-space agents",
3056
+ zh: "\u521B\u5EFA\u6216\u9644\u52A0\u5171\u4EAB\u7A7A\u95F4\u667A\u80FD\u4F53"
3057
+ },
3058
+ "agent setup-demo": {
3059
+ en: "Bootstrap demo publisher agents",
3060
+ zh: "\u521D\u59CB\u5316\u6F14\u793A\u7528\u53D1\u5E03\u8005\u667A\u80FD\u4F53"
3061
+ },
3062
+ "dev": {
3063
+ en: "Manage the local dev environment",
3064
+ zh: "\u7BA1\u7406\u672C\u5730\u5F00\u53D1\u73AF\u5883"
2537
3065
  }
2538
3066
  };
2539
3067
  function cliCommandDescription(commandPath) {
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  listUserRecordsFromServers,
3
3
  readLiveDbRecordAfterTombstoneMerge
4
- } from "./chunk-F2P6YUHC.js";
4
+ } from "./chunk-K3TVMCV3.js";
5
5
  import {
6
6
  agentRecordHasConfiguredCredential
7
- } from "./chunk-GTQKUQGF.js";
7
+ } from "./chunk-IHQ7RMRS.js";
8
8
  import {
9
9
  deriveCredentialGroup
10
- } from "./chunk-P7JNYLDW.js";
10
+ } from "./chunk-KHMJI7GE.js";
11
11
  import {
12
12
  isTombstoneRecord
13
13
  } from "./chunk-D2MDMY2M.js";