nolo-cli 0.33.0-alpha.9 → 0.34.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 (158) hide show
  1. package/{_executeModel-2WR4RTZZ.js → _executeModel-BUYCXZCQ.js} +65 -65
  2. package/{action-OQWPNKAH.js → action-KMBZ3LCZ.js} +12 -12
  3. package/{addContentAction-YVINZQTF.js → addContentAction-KQ44UT2U.js} +10 -10
  4. package/{addDialogAgentAction-6IOCIEPI.js → addDialogAgentAction-ILSDCMYL.js} +9 -9
  5. package/{agentDeleteCommand-H22WRYC6.js → agentDeleteCommand-WSS2IJVM.js} +40 -39
  6. package/{agentEmailCommands-DGJVCMCG.js → agentEmailCommands-SHTPJTSX.js} +75 -75
  7. package/{agentListCommands-6NWMLIMQ.js → agentListCommands-GV6UYVAF.js} +47 -37
  8. package/{agentMachineCommands-5MUO6RDI.js → agentMachineCommands-FLD7TAFH.js} +37 -36
  9. package/agentProviderCommands-65ZC2WB4.js +122 -0
  10. package/{agentPullCommand-YH5GEBK4.js → agentPullCommand-TSWAJPS2.js} +1 -1
  11. package/agentRecordCommands-57W6R7QW.js +113 -0
  12. package/{agentRunCommand-LYEMVQJH.js → agentRunCommand-HJGXSMDN.js} +78 -76
  13. package/{agentRunControl-SCIVRZWX.js → agentRunControl-GXOB47YI.js} +5 -1
  14. package/{agentRuntimeLocal-PRAR3NCW.js → agentRuntimeLocal-G7ZV55I6.js} +33 -33
  15. package/{agentSlice-AMDSTXP5.js → agentSlice-HFR7SP3B.js} +12 -12
  16. package/agentSuperviseCommands-Q64S5SPG.js +640 -0
  17. package/{appDeleteCommands-L5PKC42V.js → appDeleteCommands-SHHE56Y2.js} +35 -34
  18. package/{appDeployCommands-3J7Z4XWV.js → appDeployCommands-WUMSO2VS.js} +35 -34
  19. package/{appDeployStatusCommands-YTRPXE72.js → appDeployStatusCommands-VZSVN6SR.js} +35 -34
  20. package/{appGetCommands-JVXV5WXD.js → appGetCommands-ZJ2C3A5Y.js} +35 -34
  21. package/{appListCommands-7KDEOJSO.js → appListCommands-W33L6U5X.js} +35 -34
  22. package/{authCommand-6Y5LTMZB.js → authCommand-B2XRHNJH.js} +19 -19
  23. package/{authCommands-EAPFGNHN.js → authCommands-GWABTFMR.js} +6 -6
  24. package/{chatQueueReduxAdapter-ZKSS6XRV.js → chatQueueReduxAdapter-SYIX4ODY.js} +28 -28
  25. package/{chunk-UM4H3URE.js → chunk-23KKIMD5.js} +7 -7
  26. package/{chunk-HUCT7HID.js → chunk-2KO5QQFV.js} +2 -2
  27. package/{chunk-2UECQ7RE.js → chunk-3AOLVADY.js} +1 -1
  28. package/{chunk-EMW55KKX.js → chunk-3LWZNEGQ.js} +1 -1
  29. package/{chunk-MQWVAOIU.js → chunk-3XZUNRYF.js} +33 -158
  30. package/{chunk-M2YMQOLC.js → chunk-4APLX2RT.js} +75 -10
  31. package/{chunk-ZHYK3N56.js → chunk-4AWH4LQA.js} +3 -1
  32. package/{chunk-3GZXL6FM.js → chunk-4DMPISV6.js} +7 -3
  33. package/chunk-4HOXB6SY.js +297 -0
  34. package/{chunk-OIQPORYI.js → chunk-64KIQZA2.js} +175 -2
  35. package/{chunk-BQ3OHLR5.js → chunk-6KYCG5GW.js} +1216 -690
  36. package/chunk-6XG52ZQ6.js +146 -0
  37. package/{chunk-GOIDVXK5.js → chunk-74IQ5RRO.js} +21 -8
  38. package/{chunk-FMEVI5TG.js → chunk-7CH6U3FL.js} +1 -1
  39. package/{chunk-DSBGWT2C.js → chunk-7YDKVLAE.js} +10 -10
  40. package/{chunk-5X4GQ53C.js → chunk-AUH2LTIY.js} +7 -7
  41. package/{chunk-UNOTBWZZ.js → chunk-B6H5XCT2.js} +8 -8
  42. package/{chunk-NNWHHCVP.js → chunk-BMB563Y6.js} +10 -4
  43. package/{chunk-DFUPZE6V.js → chunk-C6ELZQ7H.js} +249 -34
  44. package/{chunk-BXPBZVRE.js → chunk-DX6BP4K7.js} +285 -251
  45. package/{chunk-6HYVJV7B.js → chunk-ESHYE7WU.js} +2 -1
  46. package/{chunk-JZPBVBIY.js → chunk-FD36SCCD.js} +19 -8
  47. package/{chunk-7L5CQQIT.js → chunk-FDKEDU7R.js} +14 -14
  48. package/{chunk-DKMOY3QI.js → chunk-FGLKRJDI.js} +54 -3
  49. package/{chunk-2QTEYCR7.js → chunk-FTM4KUOZ.js} +17 -17
  50. package/{chunk-U4TRT5V4.js → chunk-GEPHJJW4.js} +1 -1
  51. package/{chunk-7YYHKBJP.js → chunk-GKHV4UH5.js} +1 -1
  52. package/{chunk-2IVEXF7P.js → chunk-GUYMR3JL.js} +6 -33
  53. package/{chunk-YDTYDA5W.js → chunk-GZRMWK5R.js} +6 -4
  54. package/{chunk-VWY2CZD2.js → chunk-HDT2RB7T.js} +3 -3
  55. package/{chunk-X664KVEV.js → chunk-HHBXCRJS.js} +204 -123
  56. package/{chunk-75U775RZ.js → chunk-IFS5CUEH.js} +1 -1
  57. package/{chunk-WLH5BAKX.js → chunk-IIOHYLIG.js} +9 -4
  58. package/{chunk-ADLYMQB6.js → chunk-IZCHPD7T.js} +52 -3
  59. package/{chunk-ITIA6OAQ.js → chunk-IZNJDUJ4.js} +5 -5
  60. package/{chunk-X2DAEZ3X.js → chunk-J5NMOM35.js} +1 -1
  61. package/{chunk-RPRRIFXV.js → chunk-JI2TIPLP.js} +1 -1
  62. package/{chunk-EGRJC4ZN.js → chunk-JIADXJYU.js} +1 -1
  63. package/{chunk-IHEC7VBF.js → chunk-K4KIFRIN.js} +1 -1
  64. package/{chunk-7INB7NXF.js → chunk-KCBK4MDT.js} +294 -54
  65. package/{chunk-WJSW43QZ.js → chunk-L3JWI7WX.js} +0 -1
  66. package/{chunk-XLLTJXAD.js → chunk-LAUUAYLK.js} +39 -2672
  67. package/{chunk-3RUW3ONU.js → chunk-LD6Y6RJY.js} +4 -4
  68. package/{chunk-AN7DGYMW.js → chunk-LQ6PUHW6.js} +5077 -3588
  69. package/chunk-M3JQWYBC.js +387 -0
  70. package/{chunk-GM6PU7B6.js → chunk-MEYIRKDN.js} +0 -1
  71. package/{chunk-6YXDOOSH.js → chunk-MGIHZ5CJ.js} +4 -4
  72. package/chunk-MI2J67UU.js +43 -0
  73. package/{chunk-4F5M2MW5.js → chunk-MJWX4JQO.js} +2 -2
  74. package/{chunk-Q5ITEGIN.js → chunk-N4XRDM26.js} +1 -1
  75. package/{chunk-5CS33IBL.js → chunk-NQ4N4IGO.js} +11 -12
  76. package/{chunk-ZZ2MH7LE.js → chunk-O6OSWFZQ.js} +0 -1
  77. package/{chunk-ZURFOV5J.js → chunk-OFZPJ3NT.js} +13 -4
  78. package/{chunk-RJKIB55Y.js → chunk-OSCSEJJR.js} +15 -8
  79. package/{chunk-SCUETSRP.js → chunk-PV734VZX.js} +1 -1
  80. package/{chunk-7E72JMBB.js → chunk-SMPAUSX5.js} +46 -5
  81. package/{chunk-ASDXPOJH.js → chunk-U6QQLXWI.js} +1 -1
  82. package/{chunk-NUO3QFWD.js → chunk-UNHKVD2N.js} +1 -1
  83. package/{chunk-GE6IWA5N.js → chunk-UNZDCI3O.js} +126 -1
  84. package/{chunk-CPYYM4RJ.js → chunk-V5GA74HI.js} +19 -5
  85. package/{chunk-UEAUAXYS.js → chunk-VBD7W4Q6.js} +2057 -212
  86. package/{chunk-DNQK7M7K.js → chunk-VD2SO4RG.js} +4 -4
  87. package/{chunk-FXFGNOT2.js → chunk-VFVCYIRQ.js} +1 -1
  88. package/{chunk-7KNERA53.js → chunk-VSA6QAGV.js} +47 -3
  89. package/{chunk-G7E4NWFE.js → chunk-W445DPVT.js} +1 -1
  90. package/{chunk-3UG2IIZ3.js → chunk-WN5AJG5I.js} +1 -1
  91. package/{chunk-KSRFVP36.js → chunk-WRN7L5CS.js} +1 -1
  92. package/{chunk-GJXRIOLS.js → chunk-WRP5TTM6.js} +4 -84
  93. package/chunk-X2K2JSO4.js +163 -0
  94. package/{chunk-OR2HNLVO.js → chunk-X6EN3KJX.js} +279 -477
  95. package/{chunk-IKWTTKWG.js → chunk-XQES6LXQ.js} +2 -2
  96. package/{chunk-IR6W62Q6.js → chunk-XT73C4VH.js} +18 -21
  97. package/{chunk-RY57GLGW.js → chunk-YPREESF4.js} +42 -5
  98. package/{chunk-WNHST4IE.js → chunk-YRP7LG4R.js} +4527 -4080
  99. package/{chunk-BQXOGBFN.js → chunk-YZ2WE6CW.js} +2 -2
  100. package/{chunk-3WXRAHCG.js → chunk-ZBB3MZR3.js} +3 -3
  101. package/{cliExecutor-DW3PHGEL.js → cliExecutor-BBUVQU4L.js} +2 -2
  102. package/{clipboardy-MMBYVRLF.js → clipboardy-PRUHGPGC.js} +4 -3
  103. package/{codingSkills-DY5MINPG.js → codingSkills-H6N5EKSX.js} +3 -3
  104. package/cooldownCommands-C2SZLEEO.js +90 -0
  105. package/{createAgentAutomationAction-GVSJL2CI.js → createAgentAutomationAction-BH3D2L2H.js} +28 -30
  106. package/{createDialogAction-VVR46Q2A.js → createDialogAction-U4LDV2RW.js} +31 -33
  107. package/{createPageAction-M2VDKBYS.js → createPageAction-Q2ANG535.js} +30 -32
  108. package/{dbSlice-UI2VCBLG.js → dbSlice-PIQGICNM.js} +9 -9
  109. package/{deleteFile-XQXPBFFB.js → deleteFile-NPZ64DFN.js} +4 -4
  110. package/{dialogCommands-26DBYNBT.js → dialogCommands-C556D6WD.js} +37 -36
  111. package/{dialogSlice-FFGLRCBL.js → dialogSlice-P2VSKG2X.js} +27 -27
  112. package/dist-VODFSGNG.js +7442 -0
  113. package/{docCreateCommands-F2ASWG6B.js → docCreateCommands-AAVGLQWE.js} +36 -35
  114. package/{docDeleteCommands-A4URDZPI.js → docDeleteCommands-PKMKSQD2.js} +37 -36
  115. package/{docReadCommands-DO6VHDZD.js → docReadCommands-2WUH7UXC.js} +36 -35
  116. package/{docStore-EDAE7RNT.js → docStore-J5UWRBB4.js} +29 -31
  117. package/{docUpdateCommands-ZTXZ3RTP.js → docUpdateCommands-B2N4E5HQ.js} +38 -37
  118. package/{fetchMessages-7QRCCRYK.js → fetchMessages-CUEFN4GQ.js} +4 -4
  119. package/{getPricing-L2ENXWHV.js → getPricing-P3E2WRIH.js} +5 -5
  120. package/{handleSendMessageAction-CIRLGHOC.js → handleSendMessageAction-RRZ53YYH.js} +29 -29
  121. package/index.js +92 -77
  122. package/{localDialogRead-SLMPV5SK.js → localDialogRead-P7CHFMIC.js} +1 -1
  123. package/{localRuntimeAuthority-E3R24J4T.js → localRuntimeAuthority-S77B5QVB.js} +6 -2
  124. package/{localRuntimeDb-DDZCJFQZ.js → localRuntimeDb-N3H3HQ7G.js} +1 -1
  125. package/{machineCommands-NIQNCYJV.js → machineCommands-CWKMJG33.js} +77 -77
  126. package/{machineInfo-M6KB6HZN.js → machineInfo-66ZFUMLE.js} +1 -1
  127. package/{machineWsRunDispatch-EMTSQGAR.js → machineWsRunDispatch-UYNVNX4A.js} +69 -69
  128. package/{models-OX2S5C6Q.js → models-L7S2EKPM.js} +2 -2
  129. package/package.json +1 -1
  130. package/{read-2VHEHCAN.js → read-6C2XD3YZ.js} +5 -5
  131. package/{readDocTool-CSWD6NPC.js → readDocTool-Y7AB365O.js} +1 -1
  132. package/{readlineWorkspace-A2JBJWLI.js → readlineWorkspace-VYELP22P.js} +2851 -1515
  133. package/{removeDialogAgentAction-2T7BPM3T.js → removeDialogAgentAction-KG5WMJRZ.js} +13 -13
  134. package/{runAgentClientLoop-BV4736ED.js → runAgentClientLoop-35GKZDOZ.js} +62 -61
  135. package/{runtimeDoctorCommands-KIKM6BIO.js → runtimeDoctorCommands-HT4O2PXL.js} +6 -6
  136. package/{setDialogExtraReferencesAction-GPT37HTW.js → setDialogExtraReferencesAction-O2NLXMSM.js} +10 -10
  137. package/{setPrimaryDialogAgentAction-3746P7IW.js → setPrimaryDialogAgentAction-FYYUY7PB.js} +13 -13
  138. package/{settingSlice-FIFOQ6OR.js → settingSlice-GPLI6E3M.js} +11 -11
  139. package/{skillDiscovery-KLLKXPUO.js → skillDiscovery-COX56OBO.js} +3 -3
  140. package/{slateUtils-VO2FU36K.js → slateUtils-RIZES3PV.js} +1 -1
  141. package/{spaceCommands-AYZQHDB3.js → spaceCommands-AAKQM2PM.js} +223 -37
  142. package/{spaceSlice-43BNF22B.js → spaceSlice-NSNGR4Y2.js} +28 -30
  143. package/{streamAgentChatTurn-OLLRSITV.js → streamAgentChatTurn-D5IDHXMV.js} +116 -129
  144. package/{switchDialogAgentAction-MQTUTQHL.js → switchDialogAgentAction-GH5P6Q3Z.js} +9 -9
  145. package/{chunk-IDAU4UFS.js → syncMapping-N6RGXGBW.js} +11 -11
  146. package/{tableCommands-QE47K72R.js → tableCommands-PQUJ55AS.js} +3 -3
  147. package/{tools-2SI3FXLL.js → tools-JQOETZP5.js} +44 -45
  148. package/{tuiSummaryLlmCaller-EAWQ3IZX.js → tuiSummaryLlmCaller-LH7F2SP7.js} +18 -18
  149. package/{updateCommands-AK2RDOFR.js → updateCommands-MNDUIKN7.js} +2 -2
  150. package/{updateDialogTitleAction-YJEQFYOA.js → updateDialogTitleAction-WOTSDSFQ.js} +31 -33
  151. package/agentRecordCommands-YMGKT2WF.js +0 -113
  152. package/chunk-D5JI6VDM.js +0 -1800
  153. package/chunk-M3JEW6N6.js +0 -193
  154. package/chunk-ZWS6DUHX.js +0 -480
  155. package/syncMapping-RK2MANUX.js +0 -43
  156. package/{chunk-KMSZPTM6.js → chunk-2WKUUY2E.js} +3 -3
  157. package/{chunk-CWMSB67P.js → chunk-AGGIDPCZ.js} +0 -0
  158. package/{chunk-SAQQLJZ5.js → chunk-JDSUTNYY.js} +3 -3
@@ -2,16 +2,16 @@ import {
2
2
  getAllServers,
3
3
  getIsDesktopApp,
4
4
  isAbortError
5
- } from "./chunk-WJSW43QZ.js";
5
+ } from "./chunk-L3JWI7WX.js";
6
+ import {
7
+ isRecord
8
+ } from "./chunk-KUG52IAP.js";
6
9
  import {
7
10
  asTrimmedString
8
11
  } from "./chunk-3EUW3WEO.js";
9
12
  import {
10
13
  asOptionalPositiveFiniteNumber
11
14
  } from "./chunk-U6VC4MU4.js";
12
- import {
13
- isRecord
14
- } from "./chunk-KUG52IAP.js";
15
15
  import {
16
16
  API_ENDPOINTS,
17
17
  SERVERS,
@@ -28,104 +28,27 @@ import {
28
28
  } from "./chunk-G3SUCT4W.js";
29
29
 
30
30
  // node_modules/reselect/dist/reselect.mjs
31
- var runIdentityFunctionCheck = (resultFunc, inputSelectorsResults, outputSelectorResult) => {
32
- if (inputSelectorsResults.length === 1 && inputSelectorsResults[0] === outputSelectorResult) {
33
- let isInputSameAsOutput = false;
34
- try {
35
- const emptyObject = {};
36
- if (resultFunc(emptyObject) === emptyObject) isInputSameAsOutput = true;
37
- } catch {
38
- }
39
- if (isInputSameAsOutput) {
40
- let stack = void 0;
41
- try {
42
- throw new Error();
43
- } catch (e) {
44
- ;
45
- ({ stack } = e);
46
- }
47
- console.warn(
48
- "The result function returned its own inputs without modification. e.g\n`createSelector([state => state.todos], todos => todos)`\nThis could lead to inefficient memoization and unnecessary re-renders.\nEnsure transformation logic is in the result function, and extraction logic is in the input selectors.",
49
- { stack }
50
- );
51
- }
52
- }
53
- };
54
- var runInputStabilityCheck = (inputSelectorResultsObject, options, inputSelectorArgs) => {
55
- const { memoize, memoizeOptions } = options;
56
- const { inputSelectorResults, inputSelectorResultsCopy } = inputSelectorResultsObject;
57
- const createAnEmptyObject = memoize(() => ({}), ...memoizeOptions);
58
- const areInputSelectorResultsEqual = createAnEmptyObject.apply(null, inputSelectorResults) === createAnEmptyObject.apply(null, inputSelectorResultsCopy);
59
- if (!areInputSelectorResultsEqual) {
60
- let stack = void 0;
61
- try {
62
- throw new Error();
63
- } catch (e) {
64
- ;
65
- ({ stack } = e);
66
- }
67
- console.warn(
68
- "An input selector returned a different result when passed same arguments.\nThis means your output selector will likely run more frequently than intended.\nAvoid returning a new reference inside your input selector, e.g.\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`",
69
- {
70
- arguments: inputSelectorArgs,
71
- firstInputs: inputSelectorResults,
72
- secondInputs: inputSelectorResultsCopy,
73
- stack
74
- }
75
- );
76
- }
31
+ var CACHE_SIZE_CHECK_THRESHOLD = 1e3;
32
+ var runCacheSizeCheck = (cacheSize, funcName) => {
33
+ let stack = void 0;
34
+ try {
35
+ throw new Error();
36
+ } catch (e) {
37
+ ;
38
+ ({ stack } = e);
39
+ }
40
+ console.warn(
41
+ `A function memoized with weakMapMemoize${funcName ? ` (\`${funcName}\`)` : ""} has seen over ${cacheSize} distinct values for the same primitive argument position.
42
+ Results keyed by primitive arguments are held strongly and are only released by \`clearCache()\`, so this cache will keep growing for as long as the function keeps seeing new values.
43
+ If it is called with ever-changing primitives (ids, offsets, timestamps), pass the \`maxSize\` option to bound the cache, switch to \`lruMemoize\`, or call \`.clearCache()\` at a suitable point.
44
+ See https://reselect.js.org/api/development-only-checks#cachesizecheck for details.`,
45
+ { stack }
46
+ );
77
47
  };
78
48
  var globalDevModeChecks = {
79
49
  inputStabilityCheck: "once",
80
- identityFunctionCheck: "once"
81
- };
82
- function assertIsFunction(func, errorMessage = `expected a function, instead received ${typeof func}`) {
83
- if (typeof func !== "function") {
84
- throw new TypeError(errorMessage);
85
- }
86
- }
87
- function assertIsArrayOfFunctions(array, errorMessage = `expected all items to be functions, instead received the following types: `) {
88
- if (!array.every((item) => typeof item === "function")) {
89
- const itemTypes = array.map(
90
- (item) => typeof item === "function" ? `function ${item.name || "unnamed"}()` : typeof item
91
- ).join(", ");
92
- throw new TypeError(`${errorMessage}[${itemTypes}]`);
93
- }
94
- }
95
- var ensureIsArray = (item) => {
96
- return Array.isArray(item) ? item : [item];
97
- };
98
- function getDependencies(createSelectorArgs) {
99
- const dependencies = Array.isArray(createSelectorArgs[0]) ? createSelectorArgs[0] : createSelectorArgs;
100
- assertIsArrayOfFunctions(
101
- dependencies,
102
- `createSelector expects all input-selectors to be functions, but received the following types: `
103
- );
104
- return dependencies;
105
- }
106
- function collectInputSelectorResults(dependencies, inputSelectorArgs) {
107
- const inputSelectorResults = [];
108
- const { length } = dependencies;
109
- for (let i = 0; i < length; i++) {
110
- inputSelectorResults.push(dependencies[i].apply(null, inputSelectorArgs));
111
- }
112
- return inputSelectorResults;
113
- }
114
- var getDevModeChecksExecutionInfo = (firstRun, devModeChecks) => {
115
- const { identityFunctionCheck, inputStabilityCheck } = {
116
- ...globalDevModeChecks,
117
- ...devModeChecks
118
- };
119
- return {
120
- identityFunctionCheck: {
121
- shouldRun: identityFunctionCheck === "always" || identityFunctionCheck === "once" && firstRun,
122
- run: runIdentityFunctionCheck
123
- },
124
- inputStabilityCheck: {
125
- shouldRun: inputStabilityCheck === "always" || inputStabilityCheck === "once" && firstRun,
126
- run: runInputStabilityCheck
127
- }
128
- };
50
+ identityFunctionCheck: "once",
51
+ cacheSizeCheck: "once"
129
52
  };
130
53
  var StrongRef = class {
131
54
  constructor(value) {
@@ -155,9 +78,25 @@ function maybeDeref(r) {
155
78
  }
156
79
  function weakMapMemoize(func, options = {}) {
157
80
  let fnNode = createCacheNode();
158
- const { resultEqualityCheck } = options;
81
+ const { resultEqualityCheck, maxSize } = options;
82
+ const useGenerations = maxSize !== void 0;
83
+ if (useGenerations && (!Number.isInteger(maxSize) || maxSize < 1)) {
84
+ throw new TypeError(
85
+ `maxSize must be a positive integer, received: ${maxSize}`
86
+ );
87
+ }
88
+ let prevNode = null;
89
+ let insertionCount = 0;
159
90
  let lastResult;
160
91
  let resultsCount = 0;
92
+ let hasWarnedAboutCacheSize = false;
93
+ function maybeFlipGenerations() {
94
+ if (insertionCount >= maxSize) {
95
+ prevNode = fnNode;
96
+ fnNode = createCacheNode();
97
+ insertionCount = 0;
98
+ }
99
+ }
161
100
  function memoized() {
162
101
  let cacheNode = fnNode;
163
102
  const { length } = arguments;
@@ -184,35 +123,77 @@ function weakMapMemoize(func, options = {}) {
184
123
  if (primitiveNode === void 0) {
185
124
  cacheNode = createCacheNode();
186
125
  primitiveCache.set(arg, cacheNode);
126
+ insertionCount++;
127
+ if (process.env.NODE_ENV !== "production") {
128
+ if (primitiveCache.size > CACHE_SIZE_CHECK_THRESHOLD) {
129
+ const { cacheSizeCheck } = globalDevModeChecks;
130
+ if (cacheSizeCheck === "always" || cacheSizeCheck === "once" && !hasWarnedAboutCacheSize) {
131
+ hasWarnedAboutCacheSize = true;
132
+ runCacheSizeCheck(primitiveCache.size, func.name);
133
+ }
134
+ }
135
+ }
187
136
  } else {
188
137
  cacheNode = primitiveNode;
189
138
  }
190
139
  }
191
140
  }
192
- const terminatedNode = cacheNode;
193
- let result;
194
141
  if (cacheNode.s === TERMINATED) {
195
- result = cacheNode.v;
196
- } else {
197
- result = func.apply(null, arguments);
198
- resultsCount++;
199
- if (resultEqualityCheck) {
200
- const lastResultValue = maybeDeref(lastResult);
201
- if (lastResultValue != null && resultEqualityCheck(lastResultValue, result)) {
202
- result = lastResultValue;
203
- resultsCount !== 0 && resultsCount--;
142
+ return cacheNode.v;
143
+ }
144
+ if (prevNode !== null) {
145
+ let prevCacheNode = prevNode;
146
+ for (let i = 0, l = length; i < l; i++) {
147
+ const arg = arguments[i];
148
+ let next;
149
+ if (typeof arg === "function" || typeof arg === "object" && arg !== null) {
150
+ const prevObjectCache = prevCacheNode.o;
151
+ next = prevObjectCache !== null ? prevObjectCache.get(arg) : void 0;
152
+ } else {
153
+ const prevPrimitiveCache = prevCacheNode.p;
154
+ next = prevPrimitiveCache !== null ? prevPrimitiveCache.get(arg) : void 0;
155
+ }
156
+ if (next === void 0) {
157
+ prevCacheNode = null;
158
+ break;
204
159
  }
205
- const needsWeakRef = typeof result === "object" && result !== null || typeof result === "function";
206
- lastResult = needsWeakRef ? /* @__PURE__ */ new Ref(result) : result;
160
+ prevCacheNode = next;
161
+ }
162
+ if (prevCacheNode !== null && prevCacheNode.s === TERMINATED) {
163
+ const promotedNode = cacheNode;
164
+ promotedNode.s = TERMINATED;
165
+ promotedNode.v = prevCacheNode.v;
166
+ maybeFlipGenerations();
167
+ return prevCacheNode.v;
207
168
  }
208
169
  }
170
+ const terminatedNode = cacheNode;
171
+ let result = func.apply(null, arguments);
172
+ resultsCount++;
173
+ if (resultEqualityCheck) {
174
+ const lastResultValue = maybeDeref(lastResult);
175
+ if (lastResultValue != null && resultEqualityCheck(lastResultValue, result)) {
176
+ result = lastResultValue;
177
+ resultsCount !== 0 && resultsCount--;
178
+ }
179
+ const needsWeakRef = typeof result === "object" && result !== null || typeof result === "function";
180
+ lastResult = needsWeakRef ? /* @__PURE__ */ new Ref(result) : result;
181
+ }
209
182
  terminatedNode.s = TERMINATED;
210
183
  terminatedNode.v = result;
184
+ if (useGenerations) {
185
+ maybeFlipGenerations();
186
+ }
211
187
  return result;
212
188
  }
213
189
  memoized.clearCache = () => {
214
190
  fnNode = createCacheNode();
191
+ prevNode = null;
192
+ insertionCount = 0;
215
193
  memoized.resetResultsCount();
194
+ if (process.env.NODE_ENV !== "production") {
195
+ hasWarnedAboutCacheSize = false;
196
+ }
216
197
  };
217
198
  memoized.resultsCount = () => resultsCount;
218
199
  memoized.resetResultsCount = () => {
@@ -220,6 +201,98 @@ function weakMapMemoize(func, options = {}) {
220
201
  };
221
202
  return memoized;
222
203
  }
204
+ var runIdentityFunctionCheck = (resultFunc, inputSelectorsResults, outputSelectorResult) => {
205
+ if (inputSelectorsResults.length === 1 && inputSelectorsResults[0] === outputSelectorResult) {
206
+ let isInputSameAsOutput = false;
207
+ try {
208
+ const emptyObject = {};
209
+ if (resultFunc(emptyObject) === emptyObject) isInputSameAsOutput = true;
210
+ } catch {
211
+ }
212
+ if (isInputSameAsOutput) {
213
+ let stack = void 0;
214
+ try {
215
+ throw new Error();
216
+ } catch (e) {
217
+ ;
218
+ ({ stack } = e);
219
+ }
220
+ console.warn(
221
+ "The result function returned its own inputs without modification. e.g\n`createSelector([state => state.todos], todos => todos)`\nThis could lead to inefficient memoization and unnecessary re-renders.\nEnsure transformation logic is in the result function, and extraction logic is in the input selectors.",
222
+ { stack }
223
+ );
224
+ }
225
+ }
226
+ };
227
+ var withoutResultEqualityCheck = (option) => {
228
+ if (option === null || typeof option !== "object" || !("resultEqualityCheck" in option)) {
229
+ return option;
230
+ }
231
+ const optionCopy = { ...option };
232
+ delete optionCopy.resultEqualityCheck;
233
+ return optionCopy;
234
+ };
235
+ var runInputStabilityCheck = (inputSelectorResultsObject, options, inputSelectorArgs) => {
236
+ const { memoize, memoizeOptions } = options;
237
+ const { inputSelectorResults, inputSelectorResultsCopy } = inputSelectorResultsObject;
238
+ const probeMemoizeOptions = [];
239
+ const { length } = memoizeOptions;
240
+ for (let i = 0; i < length; i++) {
241
+ probeMemoizeOptions.push(withoutResultEqualityCheck(memoizeOptions[i]));
242
+ }
243
+ const createAnEmptyObject = memoize(() => ({}), ...probeMemoizeOptions);
244
+ const areInputSelectorResultsEqual = createAnEmptyObject.apply(null, inputSelectorResults) === createAnEmptyObject.apply(null, inputSelectorResultsCopy);
245
+ if (!areInputSelectorResultsEqual) {
246
+ let stack = void 0;
247
+ try {
248
+ throw new Error();
249
+ } catch (e) {
250
+ ;
251
+ ({ stack } = e);
252
+ }
253
+ console.warn(
254
+ "An input selector returned a different result when passed same arguments.\nThis means your output selector will likely run more frequently than intended.\nAvoid returning a new reference inside your input selector, e.g.\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`",
255
+ {
256
+ arguments: inputSelectorArgs,
257
+ firstInputs: inputSelectorResults,
258
+ secondInputs: inputSelectorResultsCopy,
259
+ stack
260
+ }
261
+ );
262
+ }
263
+ };
264
+ function assertIsFunction(func, errorMessage = `expected a function, instead received ${typeof func}`) {
265
+ if (typeof func !== "function") {
266
+ throw new TypeError(errorMessage);
267
+ }
268
+ }
269
+ function assertIsArrayOfFunctions(array, errorMessage = `expected all items to be functions, instead received the following types: `) {
270
+ if (!array.every((item) => typeof item === "function")) {
271
+ const itemTypes = array.map(
272
+ (item) => typeof item === "function" ? `function ${item.name || "unnamed"}()` : typeof item
273
+ ).join(", ");
274
+ throw new TypeError(`${errorMessage}[${itemTypes}]`);
275
+ }
276
+ }
277
+ var ensureIsArray = (item) => {
278
+ return Array.isArray(item) ? item : [item];
279
+ };
280
+ function getDependencies(createSelectorArgs) {
281
+ const dependencies = Array.isArray(createSelectorArgs[0]) ? createSelectorArgs[0] : createSelectorArgs;
282
+ assertIsArrayOfFunctions(
283
+ dependencies,
284
+ `createSelector expects all input-selectors to be functions, but received the following types: `
285
+ );
286
+ return dependencies;
287
+ }
288
+ function collectInputSelectorResults(dependencies, inputSelectorArgs) {
289
+ const inputSelectorResults = [];
290
+ const { length } = dependencies;
291
+ for (let i = 0; i < length; i++) {
292
+ inputSelectorResults.push(dependencies[i].apply(null, inputSelectorArgs));
293
+ }
294
+ return inputSelectorResults;
295
+ }
223
296
  function createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromArgs) {
224
297
  const createSelectorCreatorOptions = typeof memoizeOrOptions === "function" ? {
225
298
  memoize: memoizeOrOptions,
@@ -262,27 +335,35 @@ function createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromArgs) {
262
335
  let firstRun = true;
263
336
  const selector = argsMemoize(function dependenciesChecker() {
264
337
  dependencyRecomputations++;
265
- const inputSelectorResults = collectInputSelectorResults(
266
- dependencies,
267
- arguments
268
- );
338
+ const { length } = dependencies;
339
+ const inputSelectorResults = new Array(length);
340
+ for (let i = 0; i < length; i++) {
341
+ inputSelectorResults[i] = dependencies[i].apply(null, arguments);
342
+ }
269
343
  lastResult = memoizedResultFunc.apply(null, inputSelectorResults);
270
344
  if (process.env.NODE_ENV !== "production") {
271
- const { devModeChecks = {} } = combinedOptions;
272
- const { identityFunctionCheck, inputStabilityCheck } = getDevModeChecksExecutionInfo(firstRun, devModeChecks);
273
- if (identityFunctionCheck.shouldRun) {
274
- identityFunctionCheck.run(
345
+ const { devModeChecks } = combinedOptions;
346
+ const identityFunctionCheck = devModeChecks !== void 0 && Object.prototype.hasOwnProperty.call(
347
+ devModeChecks,
348
+ "identityFunctionCheck"
349
+ ) ? devModeChecks.identityFunctionCheck : globalDevModeChecks.identityFunctionCheck;
350
+ const inputStabilityCheck = devModeChecks !== void 0 && Object.prototype.hasOwnProperty.call(
351
+ devModeChecks,
352
+ "inputStabilityCheck"
353
+ ) ? devModeChecks.inputStabilityCheck : globalDevModeChecks.inputStabilityCheck;
354
+ if (identityFunctionCheck === "always" || identityFunctionCheck === "once" && firstRun) {
355
+ runIdentityFunctionCheck(
275
356
  resultFunc,
276
357
  inputSelectorResults,
277
358
  lastResult
278
359
  );
279
360
  }
280
- if (inputStabilityCheck.shouldRun) {
361
+ if (inputStabilityCheck === "always" || inputStabilityCheck === "once" && firstRun) {
281
362
  const inputSelectorResultsCopy = collectInputSelectorResults(
282
363
  dependencies,
283
364
  arguments
284
365
  );
285
- inputStabilityCheck.run(
366
+ runInputStabilityCheck(
286
367
  { inputSelectorResults, inputSelectorResultsCopy },
287
368
  { memoize, memoizeOptions: finalMemoizeOptions },
288
369
  arguments
@@ -199,7 +199,7 @@ async function readDocFunc(args, thunkApi) {
199
199
  throw new Error(`\u65E0\u6548\u7684\u9875\u9762 ID: ${id}\u3002\u9875\u9762 ID \u901A\u5E38\u4EE5 "page-" \u5F00\u5934\u3002`);
200
200
  }
201
201
  try {
202
- const { readAction } = await import("./read-2VHEHCAN.js");
202
+ const { readAction } = await import("./read-6C2XD3YZ.js");
203
203
  const pageData = await readAction({ dbKey: id }, thunkApi);
204
204
  if (!pageData) {
205
205
  throw new Error(`\u672A\u627E\u5230 ID \u4E3A ${id} \u7684\u9875\u9762\u3002`);
@@ -43,14 +43,19 @@ var TOOL_PACKS = {
43
43
  // search_all_spaces 已改为内置 skill(search-all-spaces),按需 loadSkill
44
44
  // 加载,不再随 CORE 常驻;全部视图(All View)运行时只给 recommended hint,
45
45
  // 不自动注入工具。search_workspace 保持常驻(分类视图的「当前空间」检索)。
46
+ // ask_user:Web/TUI 默认启用(CORE 常驻,用户可显式 disabledTools 关闭);
47
+ // desktop 无交互通道,由 desktopAgentRuntimeTurnService.ts 经
48
+ // INTERACTION_REQUIRED_TOOL_NAMES 剥离。
49
+ // queryModelUsage / queryUserGrowthReport:server-only 工具(web/CLI executor
50
+ // 直接返回 serverOnlyResult),不随 CORE 常驻——server 端由 agent 显式
51
+ // tools 配置按需挂载(utilityServerTools 执行器),web 端不再挂死 schema。
46
52
  CORE: [
47
53
  "read",
48
54
  "createDoc",
49
55
  "updateDoc",
50
56
  "search_workspace",
51
57
  "updateSelf",
52
- "queryModelUsage",
53
- "queryUserGrowthReport",
58
+ "ask_user",
54
59
  "createAgentAutomation",
55
60
  "notifyUser",
56
61
  "setTodoList"
@@ -100,8 +105,8 @@ var CAPABILITY_PACKS = [
100
105
  {
101
106
  id: "long-term-memory",
102
107
  label: "\u957F\u671F\u8BB0\u5FC6",
103
- description: "\u5BF9\u8BDD\u524D\u81EA\u52A8\u8F7D\u5165\u9AD8\u76F8\u5173\u8BB0\u5FC6\uFF0C\u5E76\u5141\u8BB8 agent \u6309\u9700\u67E5\u8BE2\u6216\u5199\u5165\u957F\u671F\u8BB0\u5FC6\u3002",
104
- tools: ["queryMemory", "rememberMemory"],
108
+ description: "\u5BF9\u8BDD\u524D\u81EA\u52A8\u8F7D\u5165\u9AD8\u76F8\u5173\u8BB0\u5FC6\uFF0C\u5E76\u5141\u8BB8 agent \u6309\u9700\u67E5\u8BE2\u3001\u5199\u5165\u6216\u5728\u7528\u6237\u5F3A\u5236\u8981\u6C42\u4E0B\u5220\u9664\u957F\u671F\u8BB0\u5FC6\u3002",
109
+ tools: ["queryMemory", "rememberMemory", "deleteMemory"],
105
110
  defaultEnabled: true,
106
111
  icon: "\u{1F9E0}"
107
112
  },
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  asRecordOrEmpty
3
3
  } from "./chunk-KX6YBIHG.js";
4
- import {
5
- asOptionalFiniteNumber
6
- } from "./chunk-WWC7I6TA.js";
7
4
  import {
8
5
  asNonEmptyStringArray,
9
6
  asTrimmedNonEmptyStringArray
10
7
  } from "./chunk-I42VC5KR.js";
8
+ import {
9
+ asOptionalFiniteNumber
10
+ } from "./chunk-WWC7I6TA.js";
11
11
  import {
12
12
  isOwnedAgentKey,
13
13
  ownedAgentKey,
@@ -146,6 +146,53 @@ function redactAgentRecordForWorkspaceTool(record) {
146
146
  return redacted;
147
147
  }
148
148
 
149
+ // packages/ai/agent/agentSelectionPriority.ts
150
+ function parseAgentTimestamp(value) {
151
+ if (typeof value === "number" && Number.isFinite(value)) return value;
152
+ if (typeof value === "string") {
153
+ const parsed = Date.parse(value);
154
+ if (Number.isFinite(parsed)) return parsed;
155
+ }
156
+ return 0;
157
+ }
158
+ function isUserConfiguredAgent(agent) {
159
+ return agent.isOAuth === true || agent.isOwned === true && agent.apiSource === "custom";
160
+ }
161
+ function resolveAgentSelectionPriority(agent) {
162
+ const favorite = agent.isFavorite === true;
163
+ const configured = isUserConfiguredAgent(agent);
164
+ if (favorite && configured) return 0;
165
+ if (favorite) return 1;
166
+ if (configured) return 2;
167
+ if (agent.isOwned === true) return 3;
168
+ return 4;
169
+ }
170
+ function compareAgentSelection(left, right) {
171
+ const priorityDiff = resolveAgentSelectionPriority(left) - resolveAgentSelectionPriority(right);
172
+ if (priorityDiff !== 0) return priorityDiff;
173
+ const leftFav = left.isFavorite === true;
174
+ const rightFav = right.isFavorite === true;
175
+ if (leftFav && rightFav) {
176
+ const leftFavAt = parseAgentTimestamp(left.favoritedAt);
177
+ const rightFavAt = parseAgentTimestamp(right.favoritedAt);
178
+ if (leftFavAt !== rightFavAt) return rightFavAt - leftFavAt;
179
+ }
180
+ const leftUpdated = parseAgentTimestamp(left.updatedAt ?? left.createdAt);
181
+ const rightUpdated = parseAgentTimestamp(right.updatedAt ?? right.createdAt);
182
+ return rightUpdated - leftUpdated;
183
+ }
184
+ var AGENT_SELECTION_PRIORITY_INSTRUCTIONS = ` - \u4F18\u5148\u7EA7\u5951\u7EA6\uFF08\u4E0E\u5217\u8868\u6392\u5E8F\u771F\u503C\u4E25\u683C\u4E00\u81F4\uFF09\uFF1A
185
+ 1. \u6536\u85CF\u7684 OAuth / \u81EA\u5B9A\u4E49 Agent\uFF08isFavorite=true \u4E14 isOAuth=true \u6216 apiSource="custom"\uFF0C\u7528\u6237\u79C1\u6709\u8BA2\u9605/\u51ED\u636E\u4F18\u5148\uFF0C\u4E0D\u70E7\u5E73\u53F0 credits\uFF09
186
+ 2. \u5176\u4ED6\u6536\u85CF Agent\uFF08isFavorite=true\uFF09
187
+ 3. \u672A\u6536\u85CF\u7684 OAuth / \u81EA\u5B9A\u4E49 Agent\uFF08isOAuth=true \u6216 apiSource="custom"\uFF09
188
+ 4. \u5176\u4ED6\u81EA\u5EFA Agent\uFF08isOwned=true\uFF09
189
+ 5. \u516C\u5F00 / \u5E73\u53F0 Agent\uFF08apiSource="platform" \u6216\u793E\u533A\u516C\u5F00\uFF09
190
+ \u540C\u6863\u4F4D\u4E0B\u6536\u85CF\u9879\u6309\u6700\u8FD1\u6536\u85CF\uFF08favoritedAt\uFF09\u4F18\u5148\uFF0C\u5176\u4F59\u6309\u6700\u8FD1\u66F4\u65B0\uFF08updatedAt\uFF09\u4F18\u5148\u3002
191
+ - \u9009\u4EBA\u4E0E\u4EFB\u52A1\u5339\u914D\u53C2\u8003\uFF1A
192
+ * **\u80FD\u529B\u5339\u914D**\uFF1A\u82E5\u4EFB\u52A1\u660E\u786E\u9700\u8981\u7279\u5B9A\u989D\u5916\u80FD\u529B\uFF08\u6D4F\u89C8\u5668/\u56FE\u7247/\u8868\u683C/\u90AE\u4EF6/\u6570\u636E\u5E93\uFF09\uFF0C\u4F18\u5148\u7B5B\u9009 tools \u5B57\u6BB5\u8986\u76D6\u5BF9\u5E94\u80FD\u529B\u7684\u5019\u9009\uFF1B
193
+ * **\u6210\u672C\u4E0E\u914D\u989D**\uFF1A\u5728\u6EE1\u8DB3\u80FD\u529B\u7684\u540C\u6863\u5019\u9009\u4E2D\uFF0C\u4F18\u5148\u9009\u62E9\u6210\u672C\u4F4E\uFF08\u4F4E inputPrice\uFF09\u6216\u8D70\u7528\u6237\u81EA\u5EFA/\u79C1\u6709\u51ED\u636E\u7684\u901A\u9053\uFF1B
194
+ * **tools \u5B57\u6BB5\u53EA\u53CD\u6620\u989D\u5916\u80FD\u529B\uFF0C\u4E0D\u53CD\u6620 coding \u80FD\u529B**\uFF1AwriteFile/editFile/execBash/applyEdit/gitCommit \u7B49\u4EE3\u7801\u5DE5\u5177\u7531 host \u81EA\u52A8\u6CE8\u5165\uFF0Ctools=[] \u4E0D\u4EE3\u8868\u4E0D\u80FD\u5199\u4EE3\u7801\uFF0C\u4E0D\u8981\u636E\u6B64\u6392\u9664\u5019\u9009\u3002`;
195
+
149
196
  // packages/agent-runtime/noloWorkspaceTools.ts
150
197
  var NOLO_WORKSPACE_TOOL_NAMES = [
151
198
  "listDialogs",
@@ -619,6 +666,8 @@ function buildNoloWorkspaceCommandArgs(call) {
619
666
  }
620
667
 
621
668
  export {
669
+ compareAgentSelection,
670
+ AGENT_SELECTION_PRIORITY_INSTRUCTIONS,
622
671
  buildAgentRuntimeAgentLookupKeys,
623
672
  shouldFetchAgentRuntimeRecordRemotely,
624
673
  resolveRuntimeToolSurfaceForAgent,
@@ -11,22 +11,22 @@ import {
11
11
  getAntigravityUserAgent,
12
12
  normalizeAntigravityTokenPayload,
13
13
  refreshAntigravityToken
14
- } from "./chunk-SCUETSRP.js";
14
+ } from "./chunk-PV734VZX.js";
15
15
  import {
16
16
  writeOAuthCredential
17
- } from "./chunk-JZPBVBIY.js";
17
+ } from "./chunk-FD36SCCD.js";
18
18
  import {
19
19
  toErrorMessage
20
20
  } from "./chunk-HNMXYYJR.js";
21
21
  import {
22
22
  asOptionalFiniteNumber
23
23
  } from "./chunk-WWC7I6TA.js";
24
- import {
25
- asTrimmedString
26
- } from "./chunk-3EUW3WEO.js";
27
24
  import {
28
25
  isRecord
29
26
  } from "./chunk-KUG52IAP.js";
27
+ import {
28
+ asTrimmedString
29
+ } from "./chunk-3EUW3WEO.js";
30
30
 
31
31
  // packages/cli/oauth/callback-server.ts
32
32
  import { createServer } from "node:http";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-ADLYMQB6.js";
4
+ } from "./chunk-IZCHPD7T.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_AGENT_BASE_POLICY,
3
3
  DEFAULT_USER_PREFERENCE_PROFILE
4
- } from "./chunk-UNOTBWZZ.js";
4
+ } from "./chunk-B6H5XCT2.js";
5
5
 
6
6
  // packages/ai/policy/runtimePolicy.ts
7
7
  var clampLevel = (value, fallback) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  dialogMessageKey
3
- } from "./chunk-KMSZPTM6.js";
3
+ } from "./chunk-2WKUUY2E.js";
4
4
  import {
5
5
  asOptionalFiniteNumber
6
6
  } from "./chunk-WWC7I6TA.js";
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-YDTYDA5W.js";
5
+ } from "./chunk-GZRMWK5R.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-KQHGZWSV.js";