nolo-cli 0.98.0-alpha.3 → 0.98.0

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 (205) hide show
  1. package/README.md +1 -1
  2. package/{_executeModel-MA3D2J4W.js → _executeModel-GJK4ZVU6.js} +74 -67
  3. package/action-PNPQLJHG.js +20 -0
  4. package/{addContentAction-O7R66HEX.js → addContentAction-RBOUD7SJ.js} +12 -11
  5. package/{addDialogAgentAction-74OA7KYP.js → addDialogAgentAction-IODCR6TB.js} +18 -19
  6. package/{agentDeleteCommand-FHUJH5X4.js → agentDeleteCommand-GHRF6CH5.js} +47 -42
  7. package/{agentEmailCommands-KNYBWNMA.js → agentEmailCommands-O5BTHYZK.js} +97 -87
  8. package/agentListCommands-3REEM63V.js +742 -0
  9. package/{agentMachineCommands-N62I3D5Q.js → agentMachineCommands-2GW3CV7Q.js} +48 -43
  10. package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-IRNZXVGE.js} +1 -1
  11. package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-B4T2DJ5H.js} +1 -1
  12. package/agentRecordCommands-WYQODWZE.js +138 -0
  13. package/agentRunCommand-KAN65WPY.js +167 -0
  14. package/{agentRunControl-AVJR4JW4.js → agentRunControl-3HWA2LLQ.js} +2 -2
  15. package/{agentRuntimeLocal-VXZSDIGT.js → agentRuntimeLocal-IOFBNVIL.js} +48 -39
  16. package/{agentSlice-65ETD734.js → agentSlice-I45M32KO.js} +14 -13
  17. package/{appDeleteCommands-PDZ7HQYH.js → appDeleteCommands-SFS6IZEM.js} +46 -41
  18. package/{appDeployCommands-KLLW32YA.js → appDeployCommands-YZQESVRQ.js} +46 -41
  19. package/{appDeployStatusCommands-IPNJ445T.js → appDeployStatusCommands-FKUUDCKP.js} +46 -41
  20. package/{appGetCommands-QA57XGXS.js → appGetCommands-QUE7OQZC.js} +46 -41
  21. package/{appListCommands-YBTAUFZS.js → appListCommands-QEETFKMH.js} +46 -41
  22. package/{authCommand-F4EFRRX6.js → authCommand-NHDLY3IB.js} +118 -24
  23. package/{authCommands-RGOGCPP6.js → authCommands-UDBJVSZU.js} +7 -5
  24. package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-MAR5LPAC.js} +10 -8
  25. package/{chromeCommands-FZYAU75D.js → chromeCommands-K27J4OVZ.js} +124 -28
  26. package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-IXRLN57H.js} +4 -3
  27. package/{chunk-6OZ36FXI.js → chunk-27ONFIEY.js} +22 -4
  28. package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
  29. package/{chunk-53HEEOTT.js → chunk-2WJ57RJA.js} +83 -16
  30. package/{chunk-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
  31. package/{chunk-ABQYVJBJ.js → chunk-46Y5D2BZ.js} +5 -5
  32. package/{chunk-EYAQT56M.js → chunk-4DPP773Q.js} +2 -2
  33. package/{chunk-H62HCIUP.js → chunk-4FFUDT6D.js} +24 -21
  34. package/chunk-4LCOCOR5.js +50 -0
  35. package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
  36. package/{chunk-IIVGDG4I.js → chunk-4YSOUKUR.js} +13 -7
  37. package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
  38. package/{chunk-FSX24MR3.js → chunk-5AUJB66Z.js} +550 -515
  39. package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
  40. package/chunk-5J3PYNUP.js +255 -0
  41. package/chunk-5MMAK75Q.js +15 -0
  42. package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
  43. package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
  44. package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
  45. package/{chunk-D2QT5FW4.js → chunk-6XDD7N7P.js} +47 -67
  46. package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
  47. package/{chunk-DNCEALKX.js → chunk-7MMSLEPA.js} +22 -29
  48. package/chunk-A4SQRTZ6.js +15 -0
  49. package/{chunk-7S4YWN7P.js → chunk-ADBZWMFB.js} +4 -4
  50. package/chunk-AGIM7IMJ.js +147 -0
  51. package/{chunk-5UTFL4QJ.js → chunk-AOTBKDRK.js} +7 -0
  52. package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
  53. package/{chunk-GZBATRJA.js → chunk-B2DEZY6J.js} +20 -11
  54. package/chunk-BMQ2MJUK.js +153 -0
  55. package/{chunk-6YTOJY35.js → chunk-BZ7NPA6G.js} +35 -2
  56. package/chunk-C4DVDM72.js +13536 -0
  57. package/chunk-CHOZJMJS.js +78 -0
  58. package/{chunk-ACTMNVHM.js → chunk-CYSYR67N.js} +1 -1
  59. package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
  60. package/chunk-DZ7R5V3Y.js +164 -0
  61. package/{chunk-3VNWWVKB.js → chunk-E3YWHWCR.js} +50 -18
  62. package/{chunk-V4MJDUSR.js → chunk-E73ON47R.js} +2 -2
  63. package/{chunk-UY2NBS4V.js → chunk-EIFYNGU4.js} +24 -5
  64. package/{chunk-KQ4ONNQD.js → chunk-EKPKW6RM.js} +155 -8
  65. package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
  66. package/{chunk-HJUYAD4A.js → chunk-FJ5BGMNM.js} +5 -5
  67. package/{chunk-2F7RJC6L.js → chunk-FOXQ7BAB.js} +1 -1
  68. package/{chunk-TDRTS7QW.js → chunk-FY7DCYW7.js} +88 -17
  69. package/{chunk-J4MOO56S.js → chunk-GARACBQB.js} +10 -2
  70. package/{chunk-6VFARHZW.js → chunk-GDFA73QZ.js} +934 -1091
  71. package/chunk-GMZLP5DV.js +82 -0
  72. package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
  73. package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
  74. package/{chunk-QOKAKDPE.js → chunk-HIM3FCLF.js} +0 -1
  75. package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
  76. package/{chunk-VLTIYV3X.js → chunk-HP57OUJO.js} +4 -4
  77. package/{chunk-AD2L6YCC.js → chunk-I76SDF7A.js} +10 -10
  78. package/{chunk-PELKTR62.js → chunk-I7BCBNWZ.js} +24 -77
  79. package/{chunk-GPCZ7UXG.js → chunk-K6U4NKFJ.js} +1 -1
  80. package/{chunk-4OEFYTWL.js → chunk-LDCAFLXD.js} +64 -48
  81. package/{chunk-SNPMM7H3.js → chunk-LNVJHIGA.js} +18 -20
  82. package/{chunk-LS2ZANRJ.js → chunk-LOCNXNOU.js} +1 -1
  83. package/{chunk-5H7KJX7J.js → chunk-LQ4PDQCI.js} +5 -5
  84. package/{chunk-GABFWSOQ.js → chunk-M33GWZIZ.js} +67 -45
  85. package/{chunk-PUOC4YRO.js → chunk-M7VLQGQP.js} +11 -0
  86. package/chunk-NHDMQZJM.js +7881 -0
  87. package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
  88. package/{chunk-L5UXH3B2.js → chunk-NNCYNBYV.js} +22 -6
  89. package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
  90. package/chunk-NWENLDMM.js +42 -0
  91. package/{chunk-76WEAXJB.js → chunk-NZWAO6LH.js} +20 -17
  92. package/chunk-OCZKATRC.js +129 -0
  93. package/{chunk-N2WELJE7.js → chunk-OU36O6OR.js} +23 -28
  94. package/chunk-OW4APERY.js +870 -0
  95. package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
  96. package/{chunk-TVYSVSA2.js → chunk-P5L7VVMT.js} +11 -9
  97. package/{chunk-TOP2VXOR.js → chunk-PCF3QU5Q.js} +5 -5
  98. package/{chunk-WV42OMV7.js → chunk-PTDYOADJ.js} +8 -8
  99. package/{chunk-6D6VBVEW.js → chunk-SNMQMOD2.js} +80 -14
  100. package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
  101. package/{chunk-Z77CRGTW.js → chunk-TVCAR26G.js} +1 -1
  102. package/chunk-TY3TIUJK.js +89 -0
  103. package/{chunk-I3TQJXQ7.js → chunk-U3C3IA32.js} +9 -2
  104. package/{chunk-RG6JBBX5.js → chunk-U7XXEI5R.js} +166 -13
  105. package/{chunk-UZGQNTVW.js → chunk-UA324D4O.js} +8 -6
  106. package/chunk-UJXNKP5V.js +760 -0
  107. package/{chunk-UKZDAFYT.js → chunk-UM4PH574.js} +6 -10
  108. package/{chunk-BLJWCTRL.js → chunk-UVKDJUTL.js} +3 -3
  109. package/{chunk-ZCYXJSTU.js → chunk-V5OWQOJZ.js} +19 -88
  110. package/{chunk-YQTQQX2H.js → chunk-V7Y6KRAH.js} +1 -1
  111. package/{chunk-3DII57IT.js → chunk-VCAQFMVN.js} +1 -1
  112. package/{chunk-JRQFUXY7.js → chunk-VEYL5MO5.js} +99 -22
  113. package/chunk-VIWDGTDA.js +8 -0
  114. package/chunk-VJVNU77E.js +83 -0
  115. package/{chunk-UKWGR5SS.js → chunk-VY6VFGKR.js} +194 -1144
  116. package/{chunk-2FA3ITSX.js → chunk-W3RFFFFF.js} +873 -227
  117. package/{chunk-BP4XNZRM.js → chunk-W72ISAKC.js} +4 -4
  118. package/{chunk-DHDMC6FO.js → chunk-WCGC6S77.js} +14 -9
  119. package/{chunk-QDSINZM3.js → chunk-WJ3B6FX6.js} +1 -14
  120. package/{chunk-V4I3A7DR.js → chunk-WXHAOL7Y.js} +19 -17
  121. package/{chunk-FUUHG5LT.js → chunk-X2B2C4XD.js} +1 -1
  122. package/{chunk-HVURBGF3.js → chunk-XFUBXRVI.js} +6 -6
  123. package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
  124. package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
  125. package/{chunk-QIAVMDHY.js → chunk-YPOPJAKN.js} +4 -4
  126. package/{chunk-SH43IESU.js → chunk-YUNJN43V.js} +44 -9
  127. package/chunk-YV25TM3R.js +780 -0
  128. package/chunk-ZRAU6T47.js +56 -0
  129. package/commandRegistry-RZNZ37BN.js +833 -0
  130. package/{contentThunks-Y6FA2TCW.js → contentThunks-DF7ZNCAG.js} +36 -34
  131. package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
  132. package/{createAgentAutomationAction-JXAFQO5V.js → createAgentAutomationAction-KPMOZ53Y.js} +38 -36
  133. package/createDialogAction-I2UDVAXN.js +69 -0
  134. package/{createPageAction-GUQDPKO5.js → createPageAction-IF5JXNKV.js} +45 -42
  135. package/{chunk-ZMD2CQFC.js → cursorProvider-YGGNMVWX.js} +2496 -9897
  136. package/{dbSlice-XVWBAGYN.js → dbSlice-Q25STFGJ.js} +11 -10
  137. package/{deleteFile-YG6QMJLU.js → deleteFile-AJ2EZMHT.js} +7 -6
  138. package/{dialogCommands-JJDASFIL.js → dialogCommands-LWHIIUQD.js} +49 -45
  139. package/{dialogSlice-J2YJNE6E.js → dialogSlice-74DFPFRV.js} +40 -33
  140. package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
  141. package/{docCreateCommands-OB3X3EQM.js → docCreateCommands-LVXQ6TNZ.js} +48 -43
  142. package/{docDeleteCommands-WMHRGF22.js → docDeleteCommands-7TVIGCLP.js} +49 -44
  143. package/{docReadCommands-NWGGLIAZ.js → docReadCommands-KYAXFLQ5.js} +47 -42
  144. package/{docStore-6KKYKAGQ.js → docStore-2JDRAYXJ.js} +16 -12
  145. package/{docUpdateCommands-3DDSOLPS.js → docUpdateCommands-TVC5KWPK.js} +48 -43
  146. package/{fetchMessages-EIU7UFFK.js → fetchMessages-I5ICDDHM.js} +5 -5
  147. package/{getPricing-LUSEABA6.js → getPricing-NMMFT3YI.js} +4 -4
  148. package/{handleSendMessageAction-A4XLEEPU.js → handleSendMessageAction-54GY3XOH.js} +110 -86
  149. package/index.js +87 -884
  150. package/{localDialogRead-BTFJ4V2I.js → localDialogRead-ZHZ3KXDM.js} +2 -2
  151. package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-TU6OBC76.js} +9 -6
  152. package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-VKWVOPPI.js} +1 -1
  153. package/{machineCommands-Y64KAIRW.js → machineCommands-54RNLVJE.js} +91 -81
  154. package/machineWsRunDispatch-WE3VTD57.js +154 -0
  155. package/{memberThunks-QGFLFVCI.js → memberThunks-R75S3RWP.js} +20 -18
  156. package/{models-T3SG6MJ5.js → models-ZPU5EDF4.js} +2 -2
  157. package/oauthTokenStore-ITEB663N.js +23 -0
  158. package/package.json +1 -1
  159. package/pdf-U6KSUEZZ.js +26435 -0
  160. package/processSpawn-SOAV3FEV.js +11 -0
  161. package/profileConfig-ZGOFORWV.js +43 -0
  162. package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-TEBH7FDX.js} +7 -7
  163. package/{providerRegistry-757OWH3O.js → providerRegistry-CBJLNCET.js} +11 -7
  164. package/{read-COE3ZYR6.js → read-SRQMNO26.js} +7 -6
  165. package/{readDocTool-5USN4A6V.js → readDocTool-RC3JUNJ2.js} +5 -3
  166. package/{readlineWorkspace-45XNHFXU.js → readlineWorkspace-UK5M5CJI.js} +2704 -2060
  167. package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-46XQV5Q7.js} +21 -25
  168. package/{runAgentClientLoop-ADZRHNG6.js → runAgentClientLoop-MTI5OU2W.js} +75 -69
  169. package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-PIVSBZRZ.js} +4 -4
  170. package/runtimeModeArgs-2Y7BALTO.js +31 -0
  171. package/{setDialogExtraReferencesAction-X4HCPNZL.js → setDialogExtraReferencesAction-J4V5ADQF.js} +15 -13
  172. package/{setPrimaryDialogAgentAction-4GMIQLOD.js → setPrimaryDialogAgentAction-UHHV2QZW.js} +22 -26
  173. package/{chunk-AFUORTY4.js → settingThunks-PPZZZOWN.js} +226 -940
  174. package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
  175. package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
  176. package/{spaceCommands-E7MQ4VU2.js → spaceCommands-446WWA73.js} +51 -46
  177. package/{streamAgentChatTurn-TUP7YO3H.js → streamAgentChatTurn-IANOWAKR.js} +199 -104
  178. package/{switchDialogAgentAction-N52LRPA3.js → switchDialogAgentAction-A2TMVGAE.js} +18 -19
  179. package/{tableCommands-O6NWHFKV.js → tableCommands-6U4BMLRR.js} +10 -10
  180. package/{toolApiClient-QVJ6HDNN.js → toolApiClient-EJT6TMFG.js} +3 -3
  181. package/tools-WZZYTUNF.js +116 -0
  182. package/{tuiSummaryLlmCaller-WFRWERGK.js → tuiSummaryLlmCaller-Q65IBDGO.js} +24 -21
  183. package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
  184. package/{updateDialogTitleAction-KSWXWWFT.js → updateDialogTitleAction-Z2JTYLXD.js} +82 -44
  185. package/action-YVYQEAAV.js +0 -31
  186. package/agentListCommands-GATRXEMT.js +0 -406
  187. package/agentRecordCommands-GOC5K27T.js +0 -128
  188. package/agentRunCommand-JP2U3MQF.js +0 -155
  189. package/browser-image-compression-MFDTD7K6.js +0 -1763
  190. package/chatQueueReduxAdapter-5QOW43T4.js +0 -186
  191. package/chunk-DHDVZFNC.js +0 -18885
  192. package/chunk-M76ECQRD.js +0 -13658
  193. package/chunk-MEYIRKDN.js +0 -8967
  194. package/chunk-Q5FJJ6XI.js +0 -103
  195. package/chunk-S7Z2HMCN.js +0 -25
  196. package/chunk-Y5GCAMGP.js +0 -9
  197. package/chunk-YPREESF4.js +0 -225
  198. package/createDialogAction-O2QABXZF.js +0 -65
  199. package/machineWsRunDispatch-M366L2LJ.js +0 -144
  200. package/settingSlice-ZQZVUPKK.js +0 -204
  201. package/syncMapping-N6RGXGBW.js +0 -437
  202. package/tools-2VDNDFET.js +0 -110
  203. package/{chunk-VMFTFOWF.js → chunk-3AH7LNUB.js} +7 -7
  204. package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
  205. package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-KHCLMKZZ.js";
4
4
  import {
5
5
  buildSkillDiscoveryLayer
6
- } from "./chunk-DVINR3PL.js";
6
+ } from "./chunk-HDLLCBRF.js";
7
7
 
8
8
  // packages/agent-runtime/skillDiscovery.ts
9
9
  import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
@@ -0,0 +1,255 @@
1
+ // packages/ai/tools/chromeConnectorTools.ts
2
+ var CHROME_CONNECTOR_TOOL_NAMES = [
3
+ "browser_list_tabs",
4
+ "browser_open_tab",
5
+ "browser_close_tab",
6
+ "browser_read_page",
7
+ "browser_click_element",
8
+ "browser_type",
9
+ "browser_press",
10
+ "browser_scroll",
11
+ "browser_screenshot",
12
+ "browser_read_console",
13
+ "browser_read_network"
14
+ ];
15
+ var CHROME_CONNECTOR_LEGACY_TOOL_ALIASES = {
16
+ chrome_list_tabs: "browser_list_tabs",
17
+ chrome_open_tab: "browser_open_tab",
18
+ chrome_close_tab: "browser_close_tab",
19
+ chrome_read_page: "browser_read_page",
20
+ chrome_click: "browser_click_element",
21
+ chrome_type: "browser_type",
22
+ chrome_press: "browser_press",
23
+ chrome_scroll: "browser_scroll",
24
+ chrome_screenshot: "browser_screenshot",
25
+ chrome_read_console: "browser_read_console",
26
+ chrome_read_network: "browser_read_network"
27
+ };
28
+ var CHROME_CONNECTOR_LEGACY_TOOL_NAMES = Object.keys(
29
+ CHROME_CONNECTOR_LEGACY_TOOL_ALIASES
30
+ );
31
+ var CHROME_CONNECTOR_ACCEPTED_TOOL_NAMES = [
32
+ ...CHROME_CONNECTOR_TOOL_NAMES,
33
+ ...CHROME_CONNECTOR_LEGACY_TOOL_NAMES
34
+ ];
35
+ function resolveChromeConnectorToolName(name) {
36
+ if (CHROME_CONNECTOR_TOOL_NAMES.includes(name)) {
37
+ return name;
38
+ }
39
+ return CHROME_CONNECTOR_LEGACY_TOOL_ALIASES[name];
40
+ }
41
+ function canonicalizeChromeConnectorToolNames(toolNames) {
42
+ const out = [];
43
+ for (const name of toolNames ?? []) {
44
+ const resolved = typeof name === "string" ? resolveChromeConnectorToolName(name) : void 0;
45
+ if (resolved && !out.includes(resolved)) out.push(resolved);
46
+ }
47
+ return out;
48
+ }
49
+ var CONNECTOR_TARGET_PROPERTY = {
50
+ type: "string",
51
+ description: "Reserved and ignored for now; future multi-provider targeting."
52
+ };
53
+ var CHROME_CONNECTOR_READ_TOOL_NAMES = [
54
+ "browser_list_tabs",
55
+ "browser_read_page",
56
+ "browser_screenshot",
57
+ "browser_read_console",
58
+ "browser_read_network"
59
+ ];
60
+ var getChromeConnectorToolBehavior = (name) => CHROME_CONNECTOR_READ_TOOL_NAMES.includes(resolveChromeConnectorToolName(name)) ? "data" : "action";
61
+ var getChromeConnectorToolDefaultConsent = (name) => CHROME_CONNECTOR_READ_TOOL_NAMES.includes(resolveChromeConnectorToolName(name)) ? "auto" : "ask";
62
+ function baseSchema(name, description, properties, required = []) {
63
+ return {
64
+ name,
65
+ description,
66
+ parameters: {
67
+ type: "object",
68
+ properties: { ...properties, target: CONNECTOR_TARGET_PROPERTY },
69
+ required
70
+ }
71
+ };
72
+ }
73
+ var tabId = {
74
+ type: "string",
75
+ description: "Browser tab id returned by browser_list_tabs or browser_open_tab."
76
+ };
77
+ var elementRef = {
78
+ type: "string",
79
+ description: "Revision-scoped ref like 1a2b3c4d-e2, copied verbatim from browser_read_page; preferred over selector when available."
80
+ };
81
+ var selector = {
82
+ type: "string",
83
+ description: "CSS selector for the visible page element to operate on; fallback when no elementRef is available."
84
+ };
85
+ var chromeListTabsFunctionSchema = baseSchema(
86
+ "browser_list_tabs",
87
+ "List controllable browser tabs from the user's browser profile through the Nolo Browser Connector.",
88
+ {}
89
+ );
90
+ var chromeOpenTabFunctionSchema = baseSchema(
91
+ "browser_open_tab",
92
+ "Open a URL in the user's browser (Chrome or Firefox) through the Nolo Browser Connector.",
93
+ {
94
+ url: {
95
+ type: "string",
96
+ description: "HTTP or HTTPS URL to open in the browser."
97
+ },
98
+ active: {
99
+ type: "boolean",
100
+ description: "Whether to focus the new browser tab. Defaults to true."
101
+ }
102
+ },
103
+ ["url"]
104
+ );
105
+ var chromeCloseTabFunctionSchema = baseSchema(
106
+ "browser_close_tab",
107
+ "Close a browser tab through the Nolo Browser Connector. Prefer closing the tabs your own run opened with browser_open_tab, and ask the user before closing a tab they are using. Pinned tabs are refused (TAB_PINNED); unknown tab ids fail (TAB_NOT_FOUND).",
108
+ {
109
+ tabId
110
+ },
111
+ ["tabId"]
112
+ );
113
+ var chromeReadPageFunctionSchema = baseSchema(
114
+ "browser_read_page",
115
+ "Read a compact view of a browser tab: visible text (hard cap 6000 chars) plus short-lived elementRefs (hard cap 35) and a pageRevision. Reuse those refs for browser_click_element and browser_type instead of guessing selectors; use region to focus a big page. Does not read cookies or profile databases.",
116
+ {
117
+ tabId,
118
+ region: {
119
+ type: "string",
120
+ description: "Optional CSS selector limiting the read to part of the page."
121
+ },
122
+ maxChars: {
123
+ type: "number",
124
+ description: "Optional text character budget; the connector clamps it to a hard maximum."
125
+ },
126
+ detail: {
127
+ type: "string",
128
+ enum: ["compact", "full"],
129
+ description: "compact (default) returns budgeted text; full raises the budget and adds capped HTML."
130
+ }
131
+ },
132
+ ["tabId"]
133
+ );
134
+ var chromeClickFunctionSchema = baseSchema(
135
+ "browser_click_element",
136
+ "Click a visible element in a browser tab by elementRef from browser_read_page, or by CSS selector. Controls whose name indicates an irreversible external action (payment, send, delete, publish, permission change) are refused with SENSITIVE_ACTION_REQUIRES_CONFIRMATION: this desktop runtime has no approval channel, so name the control and ask the user to activate it themselves.",
137
+ {
138
+ tabId,
139
+ elementRef,
140
+ selector
141
+ },
142
+ ["tabId"]
143
+ );
144
+ var chromeTypeFunctionSchema = baseSchema(
145
+ "browser_type",
146
+ "Type text into a browser page element identified by elementRef from browser_read_page or by CSS selector. Typing into a control whose name indicates an irreversible external action is refused with SENSITIVE_ACTION_REQUIRES_CONFIRMATION, same as clicking it.",
147
+ {
148
+ tabId,
149
+ elementRef,
150
+ selector,
151
+ text: {
152
+ type: "string",
153
+ description: "Text to type into the selected element."
154
+ },
155
+ clearFirst: {
156
+ type: "boolean",
157
+ description: "Whether to clear the field before typing. Defaults to true."
158
+ }
159
+ },
160
+ ["tabId", "text"]
161
+ );
162
+ var chromePressFunctionSchema = baseSchema(
163
+ "browser_press",
164
+ "Send a keyboard key or shortcut to a browser tab. Enter-like keys are refused with SENSITIVE_ACTION_REQUIRES_CONFIRMATION when the focused control is an irreversible action.",
165
+ {
166
+ tabId,
167
+ key: {
168
+ type: "string",
169
+ description: "Key or shortcut, for example Enter, Escape, ArrowDown, or Meta+L."
170
+ }
171
+ },
172
+ ["tabId", "key"]
173
+ );
174
+ var chromeScrollFunctionSchema = baseSchema(
175
+ "browser_scroll",
176
+ "Scroll a browser tab by pixel deltas.",
177
+ {
178
+ tabId,
179
+ deltaX: {
180
+ type: "number",
181
+ description: "Horizontal scroll delta in pixels."
182
+ },
183
+ deltaY: {
184
+ type: "number",
185
+ description: "Vertical scroll delta in pixels."
186
+ }
187
+ },
188
+ ["tabId"]
189
+ );
190
+ var chromeScreenshotFunctionSchema = baseSchema(
191
+ "browser_screenshot",
192
+ "Capture a screenshot from a browser tab through the Nolo Browser Connector.",
193
+ {
194
+ tabId,
195
+ fullPage: {
196
+ type: "boolean",
197
+ description: "Whether to capture the full page. Defaults to false."
198
+ }
199
+ },
200
+ ["tabId"]
201
+ );
202
+ var chromeReadConsoleFunctionSchema = baseSchema(
203
+ "browser_read_console",
204
+ "Read recent console messages from a browser tab using debugger-backed connector state.",
205
+ {
206
+ tabId,
207
+ limit: {
208
+ type: "number",
209
+ description: "Maximum number of recent console messages to return."
210
+ }
211
+ },
212
+ ["tabId"]
213
+ );
214
+ var chromeReadNetworkFunctionSchema = baseSchema(
215
+ "browser_read_network",
216
+ "Read a deduplicated recent network summary from a browser tab using debugger-backed connector state. Static assets are filtered unless includeAssets is set.",
217
+ {
218
+ tabId,
219
+ limit: {
220
+ type: "number",
221
+ description: "Maximum number of recent network entries to return."
222
+ },
223
+ includeAssets: {
224
+ type: "boolean",
225
+ description: "Include images, CSS, fonts and other static assets. Defaults to false."
226
+ }
227
+ },
228
+ ["tabId"]
229
+ );
230
+ var chromeConnectorToolSchemas = [
231
+ chromeListTabsFunctionSchema,
232
+ chromeOpenTabFunctionSchema,
233
+ chromeCloseTabFunctionSchema,
234
+ chromeReadPageFunctionSchema,
235
+ chromeClickFunctionSchema,
236
+ chromeTypeFunctionSchema,
237
+ chromePressFunctionSchema,
238
+ chromeScrollFunctionSchema,
239
+ chromeScreenshotFunctionSchema,
240
+ chromeReadConsoleFunctionSchema,
241
+ chromeReadNetworkFunctionSchema
242
+ ];
243
+ async function chromeConnectorUnavailableFunc() {
244
+ throw new Error("Browser connector tools are only executable in the Nolo desktop local runtime.");
245
+ }
246
+
247
+ export {
248
+ CHROME_CONNECTOR_LEGACY_TOOL_ALIASES,
249
+ CHROME_CONNECTOR_ACCEPTED_TOOL_NAMES,
250
+ canonicalizeChromeConnectorToolNames,
251
+ getChromeConnectorToolBehavior,
252
+ getChromeConnectorToolDefaultConsent,
253
+ chromeConnectorToolSchemas,
254
+ chromeConnectorUnavailableFunc
255
+ };
@@ -0,0 +1,15 @@
1
+ import {
2
+ compactWhitespace
3
+ } from "./chunk-DWLEOOGR.js";
4
+
5
+ // packages/core/clipCompactText.ts
6
+ function clipCompactText(value, max, ellipsis = "...") {
7
+ const compact = compactWhitespace(value);
8
+ if (compact.length <= max) return compact;
9
+ if (max <= ellipsis.length) return compact.slice(0, max);
10
+ return `${compact.slice(0, max - ellipsis.length)}${ellipsis}`;
11
+ }
12
+
13
+ export {
14
+ clipCompactText
15
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildSkillDocMarkdown
3
- } from "./chunk-Q554LLSI.js";
3
+ } from "./chunk-AUDNYVRC.js";
4
4
 
5
5
  // packages/cli/docPageHelpers.ts
6
6
  import { readFileSync } from "node:fs";
@@ -1,8 +1,9 @@
1
1
  import {
2
- mergeAvailabilityDeadline
3
- } from "./chunk-FDTR4QJ6.js";
2
+ mergeAvailabilityDeadline,
3
+ resolveCredentialKeyWithFallback
4
+ } from "./chunk-H6A6X4EK.js";
4
5
 
5
- // packages/cli/credentialAvailability.ts
6
+ // packages/agent-runtime/credentialAvailability.ts
6
7
  import { homedir } from "node:os";
7
8
  import { join } from "node:path";
8
9
  import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
@@ -13,36 +14,6 @@ function resolveNoloHome(env = process.env) {
13
14
  function resolveCredentialAvailabilityPath(env = process.env) {
14
15
  return join(resolveNoloHome(env), FILE_NAME);
15
16
  }
16
- function resolveCredentialKey(agent) {
17
- if (!agent || typeof agent !== "object") return void 0;
18
- for (const field of ["apiKeyRef", "credentialRef"]) {
19
- const value = agent[field];
20
- if (typeof value === "string") {
21
- const trimmed = value.trim();
22
- if (trimmed) return trimmed;
23
- }
24
- }
25
- return void 0;
26
- }
27
- function resolveCredentialKeyWithFallback(agent) {
28
- const byRef = resolveCredentialKey(agent);
29
- if (byRef) return byRef;
30
- if (!agent || typeof agent !== "object") return void 0;
31
- const endpoint = agent.customProviderUrl;
32
- if (typeof endpoint === "string") {
33
- const trimmed = endpoint.trim();
34
- if (trimmed) {
35
- try {
36
- const origin = new URL(trimmed).origin;
37
- if (origin && origin !== "null") return `custom-endpoint:${origin}`;
38
- } catch {
39
- }
40
- }
41
- }
42
- const key = agent.key;
43
- if (typeof key === "string" && key.trim()) return `custom-agent:${key.trim()}`;
44
- return void 0;
45
- }
46
17
  function parseFile(raw) {
47
18
  const parsed = JSON.parse(raw);
48
19
  if (!parsed || typeof parsed !== "object") return { entries: {} };
@@ -155,7 +126,6 @@ function applyCredentialAvailability(agents, credentialAvailability) {
155
126
  }
156
127
 
157
128
  export {
158
- resolveCredentialKeyWithFallback,
159
129
  readCredentialAvailability,
160
130
  readCredentialEntry,
161
131
  markCredentialUnavailable,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  dialogMessageKey
3
- } from "./chunk-VMFTFOWF.js";
3
+ } from "./chunk-3AH7LNUB.js";
4
4
  import {
5
5
  asOptionalFiniteNumber
6
6
  } from "./chunk-WWC7I6TA.js";
@@ -5,20 +5,18 @@ import {
5
5
  } from "./chunk-ZJ7UHBJS.js";
6
6
  import {
7
7
  deleteDialog,
8
- i18nBaseConfig,
9
- initReactI18next,
10
- instance,
8
+ runtime_default,
11
9
  toast
12
- } from "./chunk-DHDVZFNC.js";
10
+ } from "./chunk-C4DVDM72.js";
13
11
  import {
14
- require_date_fns
15
- } from "./chunk-M76ECQRD.js";
12
+ formatISO
13
+ } from "./chunk-ZRAU6T47.js";
16
14
  import {
17
15
  require_react
18
16
  } from "./chunk-YDH3FDFQ.js";
19
17
  import {
20
18
  isSystemAdmin
21
- } from "./chunk-QDSINZM3.js";
19
+ } from "./chunk-A4SQRTZ6.js";
22
20
  import {
23
21
  asRecordOrEmpty
24
22
  } from "./chunk-KX6YBIHG.js";
@@ -27,7 +25,7 @@ import {
27
25
  addContentAction,
28
26
  checkSpaceMembership,
29
27
  localSpaceAuthorityPatchStamp
30
- } from "./chunk-V4MJDUSR.js";
28
+ } from "./chunk-E73ON47R.js";
31
29
  import {
32
30
  createSpaceKey,
33
31
  normalizeSpaceId
@@ -41,7 +39,24 @@ import {
41
39
  uploadFileAction,
42
40
  upsertSSREntity,
43
41
  write
44
- } from "./chunk-H62HCIUP.js";
42
+ } from "./chunk-4FFUDT6D.js";
43
+ import {
44
+ DEVICE_LOCAL_OWNER_ID,
45
+ getRuntimeServerContext,
46
+ isDeviceLocalSpaceBody,
47
+ resolveReplicationServers,
48
+ scheduleDeleteReplication,
49
+ scheduleWriteReplication
50
+ } from "./chunk-UJXNKP5V.js";
51
+ import {
52
+ buildTombstoneRecord
53
+ } from "./chunk-D2MDMY2M.js";
54
+ import {
55
+ extractUserId
56
+ } from "./chunk-M2EJHDJP.js";
57
+ import {
58
+ isRecord
59
+ } from "./chunk-KUG52IAP.js";
45
60
  import {
46
61
  SEPARATOR,
47
62
  asTrimmedNonEmptyStringArray,
@@ -53,41 +68,26 @@ import {
53
68
  rowKey,
54
69
  splitKey,
55
70
  ulid
56
- } from "./chunk-VMFTFOWF.js";
71
+ } from "./chunk-3AH7LNUB.js";
57
72
  import {
58
73
  asOptionalFiniteNumber
59
74
  } from "./chunk-WWC7I6TA.js";
60
75
  import {
61
- extractUserId
62
- } from "./chunk-M2EJHDJP.js";
63
- import {
64
- DEVICE_LOCAL_OWNER_ID,
65
- createAsyncThunk,
66
- getRuntimeServerContext,
67
- isDeviceLocalSpaceBody,
68
- resolveReplicationServers,
69
- scheduleDeleteReplication,
70
- scheduleWriteReplication
71
- } from "./chunk-UKWGR5SS.js";
76
+ createAsyncThunk
77
+ } from "./chunk-VY6VFGKR.js";
72
78
  import {
73
79
  createClientLogger,
74
80
  isAbortError
75
- } from "./chunk-QOKAKDPE.js";
81
+ } from "./chunk-HIM3FCLF.js";
76
82
  import {
77
83
  selectIdentityUserId
78
84
  } from "./chunk-SEJ5OS6F.js";
79
85
  import {
80
- buildTombstoneRecord
81
- } from "./chunk-GBRG75BQ.js";
82
- import {
83
- isRecord
84
- } from "./chunk-KUG52IAP.js";
86
+ asOptionalPositiveFiniteNumber
87
+ } from "./chunk-U6VC4MU4.js";
85
88
  import {
86
89
  asTrimmedString
87
90
  } from "./chunk-3EUW3WEO.js";
88
- import {
89
- asOptionalPositiveFiniteNumber
90
- } from "./chunk-U6VC4MU4.js";
91
91
  import {
92
92
  asOptionalTrimmedString
93
93
  } from "./chunk-G3SUCT4W.js";
@@ -97,7 +97,6 @@ import {
97
97
 
98
98
  // packages/render/table/tableStore.ts
99
99
  var import_react = __toESM(require_react(), 1);
100
- var import_date_fns2 = __toESM(require_date_fns(), 1);
101
100
  import { ulid as ulid3 } from "ulid";
102
101
 
103
102
  // packages/render/table/fetchAndCacheTableRows.ts
@@ -434,25 +433,7 @@ function addColumnOptionInMeta(meta, input, deps) {
434
433
  }
435
434
 
436
435
  // packages/render/table/createTableAction.ts
437
- var import_date_fns = __toESM(require_date_fns(), 1);
438
436
  import { ulid as ulid2 } from "ulid";
439
-
440
- // packages/app/i18n/client.ts
441
- instance.use(initReactI18next).init({
442
- ...i18nBaseConfig,
443
- lng: "zh-CN" /* ZH_CN */,
444
- fallbackLng: {
445
- ["en" /* EN */]: ["en" /* EN */],
446
- ["zh-CN" /* ZH_CN */]: ["zh-CN" /* ZH_CN */, "en" /* EN */],
447
- ["zh-Hant" /* ZH_HANT */]: ["zh-Hant" /* ZH_HANT */, "zh-CN" /* ZH_CN */, "en" /* EN */],
448
- ["ja" /* JA */]: ["ja" /* JA */, "en" /* EN */],
449
- default: ["en" /* EN */]
450
- },
451
- compatibilityJSON: "v3"
452
- });
453
- var client_default = instance;
454
-
455
- // packages/render/table/createTableAction.ts
456
437
  var DEFAULT_COLUMNS = [
457
438
  {
458
439
  name: "title",
@@ -554,9 +535,9 @@ var createTableAction = async ({
554
535
  const spaceId = customSpaceId ?? getCurrentSpaceId();
555
536
  const tableId = ulid2();
556
537
  const now = /* @__PURE__ */ new Date();
557
- const nowIso = (0, import_date_fns.formatISO)(now);
538
+ const nowIso = formatISO(now);
558
539
  const dbKey = metaKey(userId, tableId);
559
- const defaultTitle = client_default.t("space:newTable", {
540
+ const defaultTitle = runtime_default.t("space:newTable", {
560
541
  defaultValue: "\u65B0\u5EFA\u8868\u683C"
561
542
  });
562
543
  const title = asOptionalTrimmedString(customTitle) ?? defaultTitle;
@@ -924,7 +905,7 @@ var addRow = createTableCommand(
924
905
  });
925
906
  try {
926
907
  const { dbKey, rowId } = rowKey.create(tenantId, tableId);
927
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
908
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
928
909
  const row = {
929
910
  dbKey,
930
911
  tenantId,
@@ -985,7 +966,7 @@ var deleteRow = createTableCommand(
985
966
  if (!row) {
986
967
  throw new Error(`\u5F53\u524D\u8868\u4E2D\u627E\u4E0D\u5230\u8981\u5220\u9664\u7684\u884C\uFF1A${dbKey}`);
987
968
  }
988
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
969
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
989
970
  const tombstoneRow = {
990
971
  ...row,
991
972
  deletedAt: nowIso,
@@ -1063,7 +1044,7 @@ var addColumn = createTableCommand(
1063
1044
  const result = addColumnToMeta(
1064
1045
  meta,
1065
1046
  { columnName },
1066
- { id: ulid3(), nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1047
+ { id: ulid3(), nowIso: formatISO(/* @__PURE__ */ new Date()) }
1067
1048
  );
1068
1049
  if (!result.ok) {
1069
1050
  throw new Error(result.error);
@@ -1104,7 +1085,7 @@ var deleteColumn = createTableCommand(
1104
1085
  meta,
1105
1086
  state.rows,
1106
1087
  { columnName },
1107
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1088
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1108
1089
  );
1109
1090
  if (!result.ok) {
1110
1091
  throw new Error(result.error);
@@ -1146,7 +1127,7 @@ var reorderColumn = createTableCommand(
1146
1127
  const result = reorderColumnInMeta(
1147
1128
  meta,
1148
1129
  { fromIndex, toIndex },
1149
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1130
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1150
1131
  );
1151
1132
  if (!result.ok) {
1152
1133
  throw new Error(result.error);
@@ -1187,7 +1168,7 @@ var renameColumnLabel = createTableCommand(
1187
1168
  const result = renameColumnLabelInMeta(
1188
1169
  meta,
1189
1170
  { columnId, label: newLabel },
1190
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1171
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1191
1172
  );
1192
1173
  if (!result.ok) {
1193
1174
  throw new Error(result.error);
@@ -1225,7 +1206,7 @@ var updateColumnWidth = createTableCommand(
1225
1206
  const result = updateColumnWidthInMeta(
1226
1207
  meta,
1227
1208
  { columnId, width },
1228
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1209
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1229
1210
  );
1230
1211
  if (!result.ok) {
1231
1212
  throw new Error(result.error);
@@ -1263,7 +1244,7 @@ var addColumnOption = createTableCommand(
1263
1244
  const result = addColumnOptionInMeta(
1264
1245
  meta,
1265
1246
  { columnId, option },
1266
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1247
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1267
1248
  );
1268
1249
  if (!result.ok) {
1269
1250
  throw new Error(result.error);
@@ -1305,7 +1286,7 @@ var renameTable = createTableCommand(
1305
1286
  if (!meta || meta.tenantId !== tenantId || meta.tableId !== tableId) {
1306
1287
  throw new Error("\u5F53\u524D\u6CA1\u6709\u52A0\u8F7D\u5BF9\u5E94\u7684\u8868\u5B9A\u4E49");
1307
1288
  }
1308
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1289
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
1309
1290
  setState((s) => ({ ...s, error: null }));
1310
1291
  try {
1311
1292
  if (dispatch) {
@@ -1346,7 +1327,7 @@ var updateTableIcon = createTableCommand(
1346
1327
  if (!meta || meta.tenantId !== tenantId || meta.tableId !== tableId) {
1347
1328
  throw new Error("\u5F53\u524D\u6CA1\u6709\u52A0\u8F7D\u5BF9\u5E94\u7684\u8868\u5B9A\u4E49");
1348
1329
  }
1349
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1330
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
1350
1331
  setState((s) => ({ ...s, error: null }));
1351
1332
  try {
1352
1333
  if (dispatch) {
@@ -1384,7 +1365,7 @@ var updateCell = createTableCommand(
1384
1365
  const { dbKey, columnName, value } = args;
1385
1366
  setState((s) => ({ ...s, error: null }));
1386
1367
  try {
1387
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1368
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
1388
1369
  if (dispatch) {
1389
1370
  await safeDispatch(
1390
1371
  dispatch,
@@ -1453,11 +1434,11 @@ var ENTITY_DELETE_STRATEGIES = {
1453
1434
  await dispatch(deleteTable({ dbKey: key })).unwrap();
1454
1435
  },
1455
1436
  file: async (key, { thunkAPI }) => {
1456
- const { deleteFileAction } = await import("./deleteFile-YG6QMJLU.js");
1437
+ const { deleteFileAction } = await import("./deleteFile-AJ2EZMHT.js");
1457
1438
  await deleteFileAction(key, thunkAPI);
1458
1439
  },
1459
1440
  image: async (key, { thunkAPI }) => {
1460
- const { deleteFileAction } = await import("./deleteFile-YG6QMJLU.js");
1441
+ const { deleteFileAction } = await import("./deleteFile-AJ2EZMHT.js");
1461
1442
  await deleteFileAction(key, thunkAPI);
1462
1443
  },
1463
1444
  agent: async (key, { dispatch, userId, sourceServerOrigin }) => {
@@ -2097,11 +2078,11 @@ var uploadAndAddFileToSpaceAction = async (payload, thunkAPI) => {
2097
2078
  const state3 = getState();
2098
2079
  const userId = selectIdentityUserId(state3);
2099
2080
  if (!userId) {
2100
- console.warn("[uploadAndAddFileToSpace] Warning: No userId found in state. Uploading as anonymous/unknown might cause issues.");
2081
+ throw new Error("Cannot upload a file to a space without an authenticated user.");
2101
2082
  }
2102
2083
  try {
2103
2084
  const id = ulid();
2104
- const dbKey = fileKey.single(userId || "unknown", id);
2085
+ const dbKey = fileKey.single(userId, id);
2105
2086
  const contentType = "file" /* FILE */;
2106
2087
  const fileCategory = resolveFileCategory({
2107
2088
  mimeType: file.type,
@@ -2391,7 +2372,6 @@ var updateContentCategory = createAsyncThunk(
2391
2372
 
2392
2373
  export {
2393
2374
  fetchAndCacheTableRows,
2394
- client_default,
2395
2375
  getTableState,
2396
2376
  loadTableRows,
2397
2377
  addRow,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getModelConfig
3
- } from "./chunk-OIVSQH2O.js";
3
+ } from "./chunk-3BXNTXYI.js";
4
4
  import {
5
5
  isPlatformHostedDeepseekModel,
6
6
  isPlatformHostedOpenAIImageModel,
7
7
  resolvePlatformHostedRouting
8
- } from "./chunk-Q67DOFOO.js";
8
+ } from "./chunk-Y3PMXGLH.js";
9
9
  import {
10
10
  asTrimmedLowercaseString
11
11
  } from "./chunk-QSJ3HFEF.js";