nolo-cli 0.8.0 → 0.9.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 (183) hide show
  1. package/_executeModel-UD44KGZ4.js +203 -0
  2. package/action-ZJWE3Y5S.js +28 -0
  3. package/addContentAction-TVDBNJM5.js +26 -0
  4. package/addDialogAgentAction-EKH774VT.js +68 -0
  5. package/agentDeleteCommand-TCPEFJTF.js +327 -0
  6. package/agentEmailCommands-CZ3UILZ4.js +626 -0
  7. package/agentListCommands-SJKO2FFB.js +223 -0
  8. package/agentMachineCommands-PSNABISZ.js +425 -0
  9. package/agentPullCommand-O2MTUAFR.js +122 -0
  10. package/agentRecordCommands-MH2JKFHS.js +94 -0
  11. package/agentRunCommand-4KH6MIZR.js +110 -0
  12. package/agentRunControl-K4VKNEHF.js +57 -0
  13. package/agentRuntimeLocal-SKHJUWSS.js +104 -0
  14. package/agentSlice-3WXXN4VK.js +42 -0
  15. package/authCommand-PXFX6JDT.js +581 -0
  16. package/authCommands-356AYWEK.js +35 -0
  17. package/chunk-2EISRLRC.js +238 -0
  18. package/chunk-2FTTDCD4.js +675 -0
  19. package/chunk-2K2ECKSG.js +222 -0
  20. package/chunk-2PUGVR6E.js +19 -0
  21. package/chunk-3ASDTTEI.js +1774 -0
  22. package/chunk-3EUW3WEO.js +8 -0
  23. package/chunk-3LY4F7SV.js +9293 -0
  24. package/chunk-3TZDXYSF.js +71 -0
  25. package/chunk-3WYQEUBI.js +34 -0
  26. package/chunk-4CQLVGRV.js +50 -0
  27. package/chunk-4IJYA27C.js +342 -0
  28. package/chunk-4K2KKCSD.js +577 -0
  29. package/chunk-4SN6J65J.js +38 -0
  30. package/chunk-4VNS5WPM.js +42 -0
  31. package/chunk-4ZDM73SD.js +34 -0
  32. package/chunk-5CS33IBL.js +301 -0
  33. package/chunk-5KLGBAAR.js +386 -0
  34. package/chunk-5MIDPSSK.js +206 -0
  35. package/chunk-5MMAK75Q.js +15 -0
  36. package/chunk-5PJ3VWCS.js +360 -0
  37. package/chunk-63SLEOLK.js +175 -0
  38. package/chunk-63W5N6P3.js +150 -0
  39. package/chunk-6GANEXVO.js +231 -0
  40. package/chunk-6HYVJV7B.js +102 -0
  41. package/chunk-6WD3OOJS.js +20 -0
  42. package/chunk-7OOXPE3N.js +628 -0
  43. package/chunk-7QRKCBOP.js +1078 -0
  44. package/chunk-ATNTHIZI.js +13 -0
  45. package/chunk-AUQ747NZ.js +902 -0
  46. package/chunk-AVMKZHBC.js +85 -0
  47. package/chunk-AZPCASRE.js +36 -0
  48. package/chunk-BBYVOSU2.js +792 -0
  49. package/chunk-C3RUNRHT.js +51 -0
  50. package/chunk-CF2WZF4N.js +134 -0
  51. package/chunk-CF7PE763.js +10 -0
  52. package/chunk-CKOJQDKR.js +198 -0
  53. package/chunk-COMXDWNM.js +807 -0
  54. package/chunk-CPB2YM4D.js +171 -0
  55. package/chunk-CWMSB67P.js +34 -0
  56. package/chunk-DCOA4QSN.js +105 -0
  57. package/chunk-DFFIZ25G.js +30 -0
  58. package/chunk-DWLEOOGR.js +8 -0
  59. package/chunk-DZ3XJVET.js +231 -0
  60. package/chunk-EHLHSX7R.js +1433 -0
  61. package/chunk-ELRRLDWI.js +478 -0
  62. package/chunk-EXTIQUCI.js +482 -0
  63. package/chunk-EYEEHCU4.js +3066 -0
  64. package/chunk-G3SUCT4W.js +8 -0
  65. package/chunk-G43KEVSC.js +1447 -0
  66. package/chunk-GAKEBQD6.js +30 -0
  67. package/chunk-GBRG75BQ.js +86 -0
  68. package/chunk-GG4AJPSR.js +191 -0
  69. package/chunk-H33743XH.js +25 -0
  70. package/chunk-HNMXYYJR.js +12 -0
  71. package/chunk-I42VC5KR.js +15 -0
  72. package/chunk-IDZTNRP2.js +85 -0
  73. package/chunk-ISNCLGUZ.js +146 -0
  74. package/chunk-IWX4UW2E.js +548 -0
  75. package/chunk-JBTJAPUF.js +35 -0
  76. package/chunk-JEXVIMYZ.js +55 -0
  77. package/chunk-JRKKFRAV.js +537 -0
  78. package/chunk-JZPBVBIY.js +94 -0
  79. package/chunk-KKY4B2Q2.js +21 -0
  80. package/chunk-KOCA5FCS.js +4750 -0
  81. package/chunk-KQHGZWSV.js +63 -0
  82. package/chunk-KTVVPRJS.js +138 -0
  83. package/chunk-KUG52IAP.js +8 -0
  84. package/chunk-KX6YBIHG.js +8 -0
  85. package/chunk-LARL2V6G.js +9017 -0
  86. package/chunk-LCBAMY2M.js +60 -0
  87. package/chunk-LM6IYQ3F.js +16 -0
  88. package/chunk-M76ECQRD.js +13658 -0
  89. package/chunk-MGOJ5R6J.js +113 -0
  90. package/chunk-MKMWT7SA.js +27196 -0
  91. package/chunk-MRC4Q34M.js +188 -0
  92. package/chunk-OLZBQWZU.js +6 -0
  93. package/chunk-OPZYGHUC.js +89 -0
  94. package/chunk-OWOHNGCN.js +50 -0
  95. package/chunk-PAKN26FP.js +239 -0
  96. package/chunk-PCWC3JTN.js +91 -0
  97. package/chunk-PG5PNA7Y.js +939 -0
  98. package/chunk-Q2YZULBH.js +104 -0
  99. package/chunk-QSJ3HFEF.js +8 -0
  100. package/chunk-QYXLLLGL.js +4519 -0
  101. package/chunk-ROWQEJRP.js +139 -0
  102. package/chunk-S7Z2HMCN.js +25 -0
  103. package/chunk-SBR32ZZS.js +1901 -0
  104. package/chunk-SH2CFQOH.js +3391 -0
  105. package/chunk-SL35K7AH.js +226 -0
  106. package/chunk-TILFE6LV.js +381 -0
  107. package/chunk-TSS3XJY4.js +2052 -0
  108. package/chunk-U4TRT5V4.js +246 -0
  109. package/chunk-U6VC4MU4.js +8 -0
  110. package/chunk-UAD2WT54.js +64 -0
  111. package/chunk-UUJDGGAK.js +421 -0
  112. package/chunk-VF4K2QE6.js +21 -0
  113. package/chunk-VHBWHNVT.js +59 -0
  114. package/chunk-VIDPVFP3.js +20 -0
  115. package/chunk-VP4WJWKW.js +8882 -0
  116. package/chunk-W4NVOSFF.js +37 -0
  117. package/chunk-WKM6FH35.js +190 -0
  118. package/chunk-WWC7I6TA.js +8 -0
  119. package/chunk-X7W4TNB4.js +1550 -0
  120. package/chunk-XE635NI4.js +1948 -0
  121. package/chunk-XKIMRZO2.js +221 -0
  122. package/chunk-XS466O7S.js +933 -0
  123. package/chunk-Y5GCAMGP.js +9 -0
  124. package/chunk-YBWOP46I.js +3272 -0
  125. package/chunk-YPRZSPF3.js +148 -0
  126. package/chunk-YYUCRDOK.js +69 -0
  127. package/chunk-Z4NR32XR.js +50 -0
  128. package/chunk-ZIG5LJ7X.js +24765 -0
  129. package/chunk-ZNFJWEN4.js +56 -0
  130. package/chunk-ZQ2UM4KG.js +2878 -0
  131. package/cliExecutor-DNE7TCC4.js +36 -0
  132. package/clipboardy-BVE3LVEH.js +12001 -0
  133. package/createAgentAutomationAction-63OIP6X5.js +866 -0
  134. package/createDialogAction-ZLYZDYBB.js +54 -0
  135. package/createPageAction-AL5FSDCK.js +171 -0
  136. package/db-HCJ5PRB5.js +271 -0
  137. package/dbSlice-PR44QPXY.js +60 -0
  138. package/deleteFile-4SKGPHOZ.js +41 -0
  139. package/dialogCommands-F6YI5742.js +63 -0
  140. package/dialogSlice-JSBNZRLR.js +148 -0
  141. package/docCreateCommands-4CTO7ERT.js +219 -0
  142. package/docDeleteCommands-VBWERDRG.js +180 -0
  143. package/docReadCommands-KNP4MFYB.js +133 -0
  144. package/docStore-ADP5VYY4.js +98 -0
  145. package/docUpdateCommands-4BCBJQHA.js +317 -0
  146. package/fetchMessages-U6ZHN56A.js +17 -0
  147. package/getPricing-3E6UNPKL.js +30 -0
  148. package/handleSendMessageAction-IJDQ6ARA.js +185 -0
  149. package/index.js +188 -112943
  150. package/lib-FYYBQIXS.js +19839 -0
  151. package/localDialogRead-Z5UTAJPU.js +26 -0
  152. package/localFirstLog-DHNOY2NA.js +19 -0
  153. package/localRuntimeAuthority-TEGCOWX4.js +471 -0
  154. package/localRuntimeDb-LGDF6FQP.js +12 -0
  155. package/machineCommands-EA3M4XTN.js +779 -0
  156. package/machineInfo-M6KB6HZN.js +10 -0
  157. package/machineWsRunDispatch-NAPKE5ZA.js +110 -0
  158. package/memoryCommands-O4MIPIWQ.js +476 -0
  159. package/models-4OPOOLFS.js +9 -0
  160. package/offlineMarxistsAgentCommand-BCPJITJL.js +242 -0
  161. package/package.json +3 -25
  162. package/read-RIJCIVKX.js +17 -0
  163. package/readDocTool-GZD2N3LO.js +16 -0
  164. package/readlineWorkspace-KMWT4T4S.js +5509 -0
  165. package/removeDialogAgentAction-GJQJNDW6.js +73 -0
  166. package/runAgentClientLoop-U5Q6NDTJ.js +291 -0
  167. package/runtimeDoctorCommands-LRHLPDRC.js +289 -0
  168. package/setDialogExtraReferencesAction-M7OQG54N.js +60 -0
  169. package/setPrimaryDialogAgentAction-46UNFJDL.js +80 -0
  170. package/settingSlice-FVUUH4JA.js +199 -0
  171. package/skillSummaryMarker-42HKSXYY.js +9 -0
  172. package/slateToRenderMarkdown-Y5IYN73U.js +7 -0
  173. package/slateUtils-2M7MUTWX.js +19 -0
  174. package/spaceCommands-E2CFRPZJ.js +454 -0
  175. package/spaceSlice-L3R6IMXE.js +147 -0
  176. package/streamAgentChatTurn-UBDAOQWE.js +4528 -0
  177. package/tableCommands-GOFP7QKA.js +1286 -0
  178. package/toolApiClient-QI3YBNWB.js +26 -0
  179. package/tools-TMJXZTCA.js +85 -0
  180. package/tuiSummaryLlmCaller-RV3THLZF.js +78 -0
  181. package/understanding-GQKNDDWM.js +271 -0
  182. package/updateCommands-VOSPKXFF.js +31 -0
  183. package/updateDialogTitleAction-ZTWRDXI2.js +188 -0
@@ -0,0 +1,148 @@
1
+ import {
2
+ getPublicImageAgentDefaultProfile
3
+ } from "./chunk-VIDPVFP3.js";
4
+ import {
5
+ getApproxPricePerImage
6
+ } from "./chunk-CWMSB67P.js";
7
+ import {
8
+ getModelConfig
9
+ } from "./chunk-BBYVOSU2.js";
10
+ import {
11
+ asOptionalFiniteNumber
12
+ } from "./chunk-WWC7I6TA.js";
13
+ import {
14
+ asOptionalPositiveFiniteNumber
15
+ } from "./chunk-U6VC4MU4.js";
16
+
17
+ // packages/ai/llm/getPricing.ts
18
+ var MAX_OUTPUT_TOKENS = 8192;
19
+ var getModelPricing = (provider, modelName, _requestedServiceTier) => {
20
+ let model;
21
+ try {
22
+ model = getModelConfig(provider, modelName);
23
+ } catch {
24
+ return null;
25
+ }
26
+ if (!model?.price) return null;
27
+ return getModelPricingForModel(provider, modelName, model);
28
+ };
29
+ var getModelPricingForModel = (provider, modelName, model) => {
30
+ if (!model.price) return null;
31
+ return {
32
+ inputPrice: model.price.input,
33
+ inputCacheHitPrice: typeof model.price.inputCacheHit === "number" ? model.price.inputCacheHit : 0,
34
+ outputPrice: model.price.output
35
+ };
36
+ };
37
+ var hasExplicitAgentPricing = (config) => [config?.inputPrice, config?.outputPrice].some(
38
+ (value) => asOptionalPositiveFiniteNumber(value) !== void 0
39
+ );
40
+ var getPrices = (config, serverPrices) => ({
41
+ agentInput: Number(config?.inputPrice ?? 0),
42
+ agentOutput: Number(config?.outputPrice ?? 0),
43
+ serverInput: Number(serverPrices?.inputPrice ?? 0),
44
+ serverOutput: Number(serverPrices?.outputPrice ?? 0)
45
+ });
46
+ var getFinalPrice = (prices) => {
47
+ const rawValues = Object.values(prices);
48
+ const validValues = rawValues.flatMap((value) => {
49
+ const finite = asOptionalFiniteNumber(value);
50
+ return finite === void 0 ? [] : [finite];
51
+ });
52
+ if (validValues.length === 0) {
53
+ return 0;
54
+ }
55
+ const maxPricePerMillion = Math.max(...validValues);
56
+ const maxPricePerToken = maxPricePerMillion / 1e6;
57
+ return maxPricePerToken * MAX_OUTPUT_TOKENS;
58
+ };
59
+ var TYPICAL_INPUT_TOKENS = 500;
60
+ var TYPICAL_OUTPUT_TOKENS = 300;
61
+ var trimTrailingZeros = (value) => {
62
+ if (!value.includes(".")) return value;
63
+ return value.replace(/\.?0+$/, "");
64
+ };
65
+ var getAgentPriceHint = (agent) => {
66
+ const imagePriceModel = agent.imageModel ?? agent.model;
67
+ if (agent.imageConfig?.enabled && agent.provider && imagePriceModel) {
68
+ try {
69
+ const model = getModelConfig(agent.provider, imagePriceModel);
70
+ const mode = agent.imageWorkflow;
71
+ if (mode === "generate") {
72
+ const defaultProfile = getPublicImageAgentDefaultProfile("generate");
73
+ const pricePerImage = getApproxPricePerImage(model, "1K");
74
+ if (typeof pricePerImage === "number") {
75
+ return {
76
+ type: "per_image",
77
+ amount: pricePerImage,
78
+ labelKey: "defaultImageProfileEstimate",
79
+ profileLabel: `${defaultProfile.quality} \xB7 ${defaultProfile.size}`
80
+ };
81
+ }
82
+ } else {
83
+ const pricePerImage = getApproxPricePerImage(
84
+ model,
85
+ agent.imageConfig?.imageSize
86
+ );
87
+ if (typeof pricePerImage === "number") {
88
+ return { type: "per_image", amount: pricePerImage };
89
+ }
90
+ }
91
+ } catch {
92
+ }
93
+ }
94
+ const inputPrice = agent.inputPrice ?? 0;
95
+ const outputPrice = agent.outputPrice ?? 0;
96
+ if (inputPrice === 0 && outputPrice === 0) return null;
97
+ const amount = (inputPrice * TYPICAL_INPUT_TOKENS + outputPrice * TYPICAL_OUTPUT_TOKENS) / 1e6;
98
+ return { type: "per_turn", amount };
99
+ };
100
+ var formatPriceAmount = (amount) => {
101
+ if (amount >= 0.1) return amount.toFixed(2);
102
+ if (amount >= 0.01) return amount.toFixed(3);
103
+ if (amount >= 1e-3) return amount.toFixed(4);
104
+ if (amount >= 1e-4) return amount.toFixed(5);
105
+ return amount.toFixed(6);
106
+ };
107
+ var formatModelCostPerMillion = (value, creditsUnit = "\u79EF\u5206") => {
108
+ const finite = asOptionalFiniteNumber(value);
109
+ if (finite === void 0) return "\u672A\u77E5";
110
+ if (finite === 0) return "\u514D\u8D39";
111
+ const decimals = Math.abs(finite) < 1 ? 3 : 2;
112
+ const amount = finite.toFixed(decimals).replace(/\.0+$/, "").replace(/(\.\d*?[1-9])0+$/, "$1");
113
+ return `${amount} ${creditsUnit}`;
114
+ };
115
+ var formatCompactTurnPrice = (amount) => {
116
+ if (amount <= 0) {
117
+ return { amountText: "0", unitCount: 1 };
118
+ }
119
+ if (amount >= 0.01) {
120
+ return {
121
+ amountText: trimTrailingZeros(formatPriceAmount(amount)),
122
+ unitCount: 1
123
+ };
124
+ }
125
+ const perHundred = amount * 100;
126
+ if (perHundred >= 0.01) {
127
+ return {
128
+ amountText: trimTrailingZeros(formatPriceAmount(perHundred)),
129
+ unitCount: 100
130
+ };
131
+ }
132
+ return {
133
+ amountText: trimTrailingZeros(formatPriceAmount(amount * 1e3)),
134
+ unitCount: 1e3
135
+ };
136
+ };
137
+
138
+ export {
139
+ getModelPricing,
140
+ getModelPricingForModel,
141
+ hasExplicitAgentPricing,
142
+ getPrices,
143
+ getFinalPrice,
144
+ getAgentPriceHint,
145
+ formatPriceAmount,
146
+ formatModelCostPerMillion,
147
+ formatCompactTurnPrice
148
+ };
@@ -0,0 +1,69 @@
1
+ import {
2
+ dialogMessageRange
3
+ } from "./chunk-SH2CFQOH.js";
4
+ import {
5
+ isTombstoneRecord
6
+ } from "./chunk-GBRG75BQ.js";
7
+ import {
8
+ isRecord
9
+ } from "./chunk-KUG52IAP.js";
10
+
11
+ // packages/chat/messages/fetchMessages.ts
12
+ function isUnboundedMessageLimit(limit) {
13
+ return limit == null || !Number.isFinite(limit) || limit <= 0;
14
+ }
15
+ var fetchMessages = async (db, dialogId, options = {}) => {
16
+ const {
17
+ limit,
18
+ beforeKey = null,
19
+ throwOnError = false,
20
+ includeDeleted = false
21
+ } = options;
22
+ if (!dialogId || typeof dialogId !== "string") {
23
+ const errorMsg = "fetchMessages: dialogId \u5FC5\u987B\u662F\u4E00\u4E2A\u975E\u7A7A\u5B57\u7B26\u4E32";
24
+ if (throwOnError) throw new Error(errorMsg);
25
+ console.error(errorMsg);
26
+ return [];
27
+ }
28
+ const messages = [];
29
+ const { start, end } = dialogMessageRange(dialogId);
30
+ const iteratorOptions = {
31
+ // TODO: 替换为具体的迭代器选项类型
32
+ gte: start,
33
+ reverse: true,
34
+ // 总是从新到旧获取
35
+ // 默认不限条数;仅在显式正数 limit 时分页(load older)。
36
+ ...isUnboundedMessageLimit(limit) ? {} : { limit: Math.floor(limit) }
37
+ };
38
+ if (beforeKey) {
39
+ iteratorOptions.lt = beforeKey;
40
+ } else {
41
+ iteratorOptions.lte = end;
42
+ }
43
+ try {
44
+ let iterator = db.iterator(iteratorOptions);
45
+ if (iterator && typeof iterator.then === "function") {
46
+ iterator = await iterator;
47
+ }
48
+ let count = 0;
49
+ for await (const [key, value] of iterator) {
50
+ count++;
51
+ if (!includeDeleted && isTombstoneRecord(value)) {
52
+ continue;
53
+ }
54
+ if (isRecord(value) && value.id && value.createdAt) {
55
+ messages.push({ ...value, _key: key });
56
+ }
57
+ }
58
+ return messages;
59
+ } catch (error) {
60
+ console.error(`fetchMessages: \u83B7\u53D6\u5BF9\u8BDD ${dialogId} \u6D88\u606F\u5931\u8D25:`, error);
61
+ if (throwOnError) throw error;
62
+ return [];
63
+ }
64
+ };
65
+
66
+ export {
67
+ isUnboundedMessageLimit,
68
+ fetchMessages
69
+ };
@@ -0,0 +1,50 @@
1
+ import {
2
+ asOptionalTrimmedString
3
+ } from "./chunk-G3SUCT4W.js";
4
+
5
+ // packages/chat/dialog/dialogAgents.ts
6
+ var normalizeAgentId = (value) => asOptionalTrimmedString(value) ?? null;
7
+ var dedupeAgentIds = (agentIds) => {
8
+ const seen = /* @__PURE__ */ new Set();
9
+ const result = [];
10
+ for (const agentId of agentIds) {
11
+ const normalized = normalizeAgentId(agentId);
12
+ if (!normalized || seen.has(normalized)) continue;
13
+ seen.add(normalized);
14
+ result.push(normalized);
15
+ }
16
+ return result;
17
+ };
18
+ var getDialogAgentIds = (dialogConfig) => {
19
+ if (!dialogConfig) return [];
20
+ const primaryAgentKey = normalizeAgentId(dialogConfig.primaryAgentKey);
21
+ if (Array.isArray(dialogConfig.cybots)) {
22
+ return dedupeAgentIds([primaryAgentKey, ...dialogConfig.cybots]);
23
+ }
24
+ if (primaryAgentKey) {
25
+ return [primaryAgentKey];
26
+ }
27
+ const legacyAgentId = normalizeAgentId(dialogConfig.llmId);
28
+ if (legacyAgentId) {
29
+ return [legacyAgentId];
30
+ }
31
+ return [];
32
+ };
33
+ var getPrimaryDialogAgentId = (dialogConfig) => getDialogAgentIds(dialogConfig)[0] ?? null;
34
+ var addDialogAgentIds = (existingAgentIds, nextAgentIds) => {
35
+ const merged = [...existingAgentIds, ...nextAgentIds];
36
+ return merged.filter((id, index) => merged.indexOf(id) === index);
37
+ };
38
+ var replacePrimaryDialogAgentId = (existingAgentIds, nextPrimaryAgentId) => [
39
+ nextPrimaryAgentId,
40
+ ...existingAgentIds.filter((id) => id !== nextPrimaryAgentId)
41
+ ];
42
+ var removeDialogAgentId = (existingAgentIds, agentIdToRemove) => existingAgentIds.filter((id) => id !== agentIdToRemove);
43
+
44
+ export {
45
+ getDialogAgentIds,
46
+ getPrimaryDialogAgentId,
47
+ addDialogAgentIds,
48
+ replacePrimaryDialogAgentId,
49
+ removeDialogAgentId
50
+ };