nolo-cli 0.7.0 → 0.8.0-alpha.11

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 (175) hide show
  1. package/_executeModel-GPU2276G.js +198 -0
  2. package/action-PAXRPJJF.js +27 -0
  3. package/addContentAction-CZVWF3QZ.js +25 -0
  4. package/addDialogAgentAction-CCIDTPHC.js +67 -0
  5. package/agentDeleteCommand-4ZZFM6AT.js +323 -0
  6. package/agentEmailCommands-C4FIVQYV.js +621 -0
  7. package/agentListCommands-VQAKVNEX.js +219 -0
  8. package/agentMachineCommands-ONFDXZUQ.js +421 -0
  9. package/agentPullCommand-O2MTUAFR.js +122 -0
  10. package/agentRecordCommands-QANUGHLK.js +89 -0
  11. package/agentRunCommand-A3OSRB5Q.js +102 -0
  12. package/agentRunControl-K4VKNEHF.js +57 -0
  13. package/agentRuntimeLocal-62ZB2ODP.js +99 -0
  14. package/agentSlice-GCGLVR2N.js +41 -0
  15. package/authCommand-WXMD3IPR.js +574 -0
  16. package/authCommands-X74AFDTC.js +26 -0
  17. package/chunk-2EISRLRC.js +238 -0
  18. package/chunk-2FTTDCD4.js +675 -0
  19. package/chunk-2MALU52L.js +51 -0
  20. package/chunk-2UZXR7WO.js +3631 -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-4CQLVGRV.js +50 -0
  25. package/chunk-4IJYA27C.js +342 -0
  26. package/chunk-4SN6J65J.js +38 -0
  27. package/chunk-4VNS5WPM.js +42 -0
  28. package/chunk-53DNV5AT.js +421 -0
  29. package/chunk-572EKYLF.js +792 -0
  30. package/chunk-5MIDPSSK.js +206 -0
  31. package/chunk-5MMAK75Q.js +15 -0
  32. package/chunk-63W5N6P3.js +150 -0
  33. package/chunk-6B7G54GE.js +1078 -0
  34. package/chunk-6HYVJV7B.js +102 -0
  35. package/chunk-6WD3OOJS.js +20 -0
  36. package/chunk-7OC5VCLW.js +929 -0
  37. package/chunk-7YLKNMOM.js +562 -0
  38. package/chunk-ATNTHIZI.js +13 -0
  39. package/chunk-AUGHVUFE.js +69 -0
  40. package/chunk-AVMKZHBC.js +85 -0
  41. package/chunk-AZPCASRE.js +36 -0
  42. package/chunk-BR2WP3DF.js +548 -0
  43. package/chunk-BSTNFPHD.js +231 -0
  44. package/chunk-CF2WZF4N.js +134 -0
  45. package/chunk-CF7PE763.js +10 -0
  46. package/chunk-CJH2VTEU.js +360 -0
  47. package/chunk-CKOJQDKR.js +198 -0
  48. package/chunk-CM54RSSA.js +206 -0
  49. package/chunk-CQAHS7YO.js +4300 -0
  50. package/chunk-CWMSB67P.js +34 -0
  51. package/chunk-DFFIZ25G.js +30 -0
  52. package/chunk-DWLEOOGR.js +8 -0
  53. package/chunk-DZ3XJVET.js +231 -0
  54. package/chunk-EHLHSX7R.js +1433 -0
  55. package/chunk-ELRRLDWI.js +478 -0
  56. package/chunk-EYEEHCU4.js +3066 -0
  57. package/chunk-F6QQI5YI.js +19 -0
  58. package/chunk-G3SUCT4W.js +8 -0
  59. package/chunk-G5H7RNFL.js +807 -0
  60. package/chunk-GAKEBQD6.js +30 -0
  61. package/chunk-GBRG75BQ.js +86 -0
  62. package/chunk-GCMRDRCQ.js +190 -0
  63. package/chunk-GGUO4FKF.js +27158 -0
  64. package/chunk-GGXABIPP.js +628 -0
  65. package/chunk-H2RMRZJE.js +113 -0
  66. package/chunk-H33743XH.js +25 -0
  67. package/chunk-HEIIIZBX.js +104 -0
  68. package/chunk-HNMXYYJR.js +12 -0
  69. package/chunk-I3D64LRJ.js +1447 -0
  70. package/chunk-IAXBCTTE.js +175 -0
  71. package/chunk-IDZTNRP2.js +85 -0
  72. package/chunk-ISNCLGUZ.js +146 -0
  73. package/chunk-IYQV26RA.js +138 -0
  74. package/chunk-J4576WMJ.js +91 -0
  75. package/chunk-J5KV47ZW.js +222 -0
  76. package/chunk-JBTJAPUF.js +35 -0
  77. package/chunk-JZPBVBIY.js +94 -0
  78. package/chunk-KB7YFGL6.js +34 -0
  79. package/chunk-KKY4B2Q2.js +21 -0
  80. package/chunk-KQHGZWSV.js +63 -0
  81. package/chunk-KUG52IAP.js +8 -0
  82. package/chunk-KX6YBIHG.js +8 -0
  83. package/chunk-LAWBMYBC.js +171 -0
  84. package/chunk-LCBAMY2M.js +60 -0
  85. package/chunk-LM25IZBJ.js +902 -0
  86. package/chunk-LM6IYQ3F.js +16 -0
  87. package/chunk-M76ECQRD.js +13658 -0
  88. package/chunk-MRC4Q34M.js +188 -0
  89. package/chunk-NXZGF7F7.js +2878 -0
  90. package/chunk-OF5H3QWS.js +300 -0
  91. package/chunk-OLZBQWZU.js +6 -0
  92. package/chunk-OWOHNGCN.js +50 -0
  93. package/chunk-PN7AFLOK.js +3401 -0
  94. package/chunk-QR5IPGT3.js +24674 -0
  95. package/chunk-QSJ3HFEF.js +8 -0
  96. package/chunk-QYXLLLGL.js +4519 -0
  97. package/chunk-R2HXWML7.js +1949 -0
  98. package/chunk-ROWQEJRP.js +139 -0
  99. package/chunk-S7Z2HMCN.js +25 -0
  100. package/chunk-SYOF5TAS.js +962 -0
  101. package/chunk-TDIQFT2F.js +301 -0
  102. package/chunk-TILFE6LV.js +381 -0
  103. package/chunk-TZNCFAUP.js +2157 -0
  104. package/chunk-U4TRT5V4.js +246 -0
  105. package/chunk-U6VC4MU4.js +8 -0
  106. package/chunk-UAD2WT54.js +64 -0
  107. package/chunk-USZMK5UT.js +105 -0
  108. package/chunk-VEJLAVTC.js +2052 -0
  109. package/chunk-VF4K2QE6.js +21 -0
  110. package/chunk-VHBWHNVT.js +59 -0
  111. package/chunk-VIDPVFP3.js +20 -0
  112. package/chunk-VP4WJWKW.js +8882 -0
  113. package/chunk-VQ2AJRGD.js +148 -0
  114. package/chunk-W4NVOSFF.js +37 -0
  115. package/chunk-WWC7I6TA.js +8 -0
  116. package/chunk-X7W4TNB4.js +1550 -0
  117. package/chunk-XBIUN5CR.js +191 -0
  118. package/chunk-XDVAYP26.js +537 -0
  119. package/chunk-XKIMRZO2.js +221 -0
  120. package/chunk-Y5GCAMGP.js +9 -0
  121. package/chunk-YOUZDXU7.js +9013 -0
  122. package/chunk-Z4NR32XR.js +50 -0
  123. package/chunk-ZNFJWEN4.js +56 -0
  124. package/cliExecutor-DNE7TCC4.js +36 -0
  125. package/clipboardy-BVE3LVEH.js +12001 -0
  126. package/createAgentAutomationAction-537X433B.js +864 -0
  127. package/createDialogAction-YUD4RKBS.js +52 -0
  128. package/createPageAction-KJMFHL4C.js +169 -0
  129. package/db-HCJ5PRB5.js +271 -0
  130. package/dbSlice-C4UJLRZP.js +59 -0
  131. package/deleteFile-4SKGPHOZ.js +41 -0
  132. package/dialogCommands-H74KJKHC.js +59 -0
  133. package/dialogSlice-ETSD4YWS.js +146 -0
  134. package/docCreateCommands-ADUSU34K.js +215 -0
  135. package/docDeleteCommands-ZXV3S5OS.js +176 -0
  136. package/docReadCommands-YYYI6LT7.js +129 -0
  137. package/docStore-ZBF5DDKR.js +96 -0
  138. package/docUpdateCommands-7MGJ3BYA.js +313 -0
  139. package/fetchMessages-JOCYIFKL.js +16 -0
  140. package/getPricing-PWPJ6MNV.js +30 -0
  141. package/handleSendMessageAction-MGKI62Y6.js +183 -0
  142. package/index.js +184 -112288
  143. package/lib-FYYBQIXS.js +19839 -0
  144. package/localDialogRead-D3BELSTF.js +26 -0
  145. package/localFirstLog-DHNOY2NA.js +19 -0
  146. package/localRuntimeAuthority-TEGCOWX4.js +471 -0
  147. package/localRuntimeDb-LGDF6FQP.js +12 -0
  148. package/machineCommands-RMTMN7VQ.js +774 -0
  149. package/machineInfo-M6KB6HZN.js +10 -0
  150. package/machineWsRunDispatch-UIP355FN.js +105 -0
  151. package/memoryCommands-O4MIPIWQ.js +476 -0
  152. package/models-XLEOET3E.js +9 -0
  153. package/offlineMarxistsAgentCommand-BCPJITJL.js +242 -0
  154. package/package.json +3 -25
  155. package/read-RIJCIVKX.js +17 -0
  156. package/readDocTool-GZD2N3LO.js +16 -0
  157. package/readlineWorkspace-CRNQRZ6D.js +5374 -0
  158. package/removeDialogAgentAction-CXLST3N6.js +72 -0
  159. package/runAgentClientLoop-2S334SGA.js +288 -0
  160. package/runtimeDoctorCommands-LRHLPDRC.js +289 -0
  161. package/setDialogExtraReferencesAction-LP6VYGU7.js +59 -0
  162. package/setPrimaryDialogAgentAction-D3GGH23T.js +79 -0
  163. package/settingSlice-J4I3Z5H7.js +198 -0
  164. package/skillSummaryMarker-42HKSXYY.js +9 -0
  165. package/slateToRenderMarkdown-Y5IYN73U.js +7 -0
  166. package/slateUtils-2M7MUTWX.js +19 -0
  167. package/spaceCommands-NDEWMFZJ.js +450 -0
  168. package/spaceSlice-RLB6RTHO.js +145 -0
  169. package/streamAgentChatTurn-Y2TTYPBD.js +4503 -0
  170. package/tableCommands-GOFP7QKA.js +1286 -0
  171. package/toolApiClient-QI3YBNWB.js +26 -0
  172. package/tools-YZYLY2ZQ.js +83 -0
  173. package/understanding-HCSFPE7R.js +318 -0
  174. package/updateCommands-VOSPKXFF.js +31 -0
  175. package/updateDialogTitleAction-LQV6QLBW.js +185 -0
@@ -0,0 +1,191 @@
1
+ import {
2
+ listUserRecordsFromServers,
3
+ readLiveDbRecordAfterTombstoneMerge
4
+ } from "./chunk-GCMRDRCQ.js";
5
+ import {
6
+ agentRecordHasConfiguredCredential
7
+ } from "./chunk-GGXABIPP.js";
8
+
9
+ // packages/cli/agentListHelpers.ts
10
+ function parseAgentRecordId(privateKey, explicitId) {
11
+ if (explicitId) return explicitId;
12
+ const agentMatch = privateKey.match(/^agent-[^-]+-(.+)$/i);
13
+ return agentMatch?.[1] ?? "";
14
+ }
15
+ function buildCompanionKeys(rawId, userId) {
16
+ return {
17
+ privateKey: `agent-${userId}-${rawId}`,
18
+ publicKey: `agent-pub-${rawId}`
19
+ };
20
+ }
21
+ function normalizeListedAgent(record) {
22
+ const privateKey = typeof record?.dbKey === "string" ? record.dbKey : "";
23
+ const explicitId = typeof record?.id === "string" && record.id ? record.id : void 0;
24
+ const ownerUserId = typeof record?.userId === "string" ? record.userId : "";
25
+ const rawId = explicitId || (ownerUserId && privateKey.startsWith(`agent-${ownerUserId}-`) ? privateKey.slice(`agent-${ownerUserId}-`.length) : parseAgentRecordId(privateKey, explicitId));
26
+ if (!privateKey || !rawId || !ownerUserId) return null;
27
+ const keys = buildCompanionKeys(rawId, ownerUserId);
28
+ const credentialConfigured = agentRecordHasConfiguredCredential(record);
29
+ const credentialRef = typeof record?.credentialRef === "string" && record.credentialRef ? record.credentialRef : void 0;
30
+ const apiKeyRef = typeof record?.apiKeyRef === "string" && record.apiKeyRef ? record.apiKeyRef : void 0;
31
+ return {
32
+ id: rawId,
33
+ privateKey,
34
+ publicKey: keys.publicKey,
35
+ name: typeof record?.name === "string" && record.name ? record.name : "(unnamed)",
36
+ model: typeof record?.model === "string" && record.model ? record.model : "-",
37
+ updatedAt: typeof record?.updatedAt === "string" || typeof record?.updatedAt === "number" ? record.updatedAt : typeof record?.createdAt === "string" || typeof record?.createdAt === "number" ? record.createdAt : typeof record?.created === "string" || typeof record?.created === "number" ? record.created : null,
38
+ isPublicFlag: !!record?.isPublic,
39
+ publicRecordExists: false,
40
+ type: typeof record?.type === "string" ? record.type : null,
41
+ tools: Array.isArray(record?.tools) ? record.tools.filter((tool) => typeof tool === "string") : [],
42
+ credentialConfigured,
43
+ credentialRef,
44
+ apiKeyRef,
45
+ ...typeof record?.apiSource === "string" && record.apiSource ? { apiSource: record.apiSource } : {},
46
+ ...typeof record?.cliProvider === "string" && record.cliProvider ? { cliProvider: record.cliProvider } : {}
47
+ };
48
+ }
49
+ function sortListedAgents(agents) {
50
+ agents.sort((a, b) => {
51
+ const ta = a.updatedAt == null ? 0 : new Date(a.updatedAt).getTime();
52
+ const tb = b.updatedAt == null ? 0 : new Date(b.updatedAt).getTime();
53
+ return tb - ta;
54
+ });
55
+ return agents;
56
+ }
57
+ function parseAgentListArgs(args) {
58
+ return {
59
+ wantJson: args.includes("--json"),
60
+ publicOnly: args.includes("--public-only"),
61
+ idsOnly: args.includes("--ids-only")
62
+ };
63
+ }
64
+ async function listLocalCachedAgents(args) {
65
+ const privateRecords = /* @__PURE__ */ new Map();
66
+ const publicKeys = /* @__PURE__ */ new Set();
67
+ for await (const [key, value] of args.db.iterator({ gte: "", lte: "\uFFFF" })) {
68
+ if (typeof key !== "string" || !value || typeof value !== "object") continue;
69
+ if (key.startsWith(`agent-${args.userId}-`)) {
70
+ privateRecords.set(key, { ...value, dbKey: key });
71
+ continue;
72
+ }
73
+ if (key.startsWith("agent-pub-")) {
74
+ publicKeys.add(key);
75
+ }
76
+ }
77
+ const agents = sortListedAgents(
78
+ [...privateRecords.values()].map((record) => normalizeListedAgent(record)).filter((agent) => agent != null)
79
+ );
80
+ for (const agent of agents) {
81
+ agent.publicRecordExists = publicKeys.has(agent.publicKey);
82
+ }
83
+ return agents;
84
+ }
85
+ async function hasReadableRecord(args) {
86
+ try {
87
+ await args.readDbRecord(args);
88
+ return true;
89
+ } catch {
90
+ return false;
91
+ }
92
+ }
93
+ async function listRemoteAgents(args) {
94
+ const recordGroups = [await args.queryUserRecords({ ...args, type: "agent" })];
95
+ const agents = sortListedAgents(
96
+ recordGroups.flat().map((record) => normalizeListedAgent(record)).filter((agent) => agent != null)
97
+ );
98
+ await Promise.all(
99
+ agents.map(async (agent) => {
100
+ agent.publicRecordExists = await hasReadableRecord({
101
+ authToken: args.authToken,
102
+ dbKey: agent.publicKey,
103
+ fallbackFetchImpl: args.fallbackFetchImpl,
104
+ fetchImpl: args.fetchImpl,
105
+ serverUrl: args.serverUrl,
106
+ readDbRecord: args.readDbRecord
107
+ });
108
+ })
109
+ );
110
+ return agents;
111
+ }
112
+ async function listRemoteAgentsAcrossServers(args) {
113
+ const remoteResult = await listUserRecordsFromServers({
114
+ authToken: args.authToken,
115
+ fallbackFetchImpl: args.fallbackFetchImpl,
116
+ fetchImpl: args.fetchImpl,
117
+ label: "agent query",
118
+ serverUrls: args.serverUrls,
119
+ type: "agent",
120
+ userId: args.userId
121
+ });
122
+ const agents = sortListedAgents(
123
+ remoteResult.records.map((record) => normalizeListedAgent(record)).filter((agent) => agent != null)
124
+ );
125
+ return { agents, failures: remoteResult.failures };
126
+ }
127
+ async function listFavoriteAgentIdsAcrossServers(args) {
128
+ const favoritedAtByKey = {};
129
+ await Promise.all(
130
+ args.serverUrls.map(async (serverUrl) => {
131
+ try {
132
+ const res = await args.fetchImpl(`${serverUrl}/rpc/listFavorites`, {
133
+ method: "POST",
134
+ headers: {
135
+ "Content-Type": "application/json",
136
+ Authorization: `Bearer ${args.authToken}`
137
+ },
138
+ body: JSON.stringify({ targetType: "agent" })
139
+ });
140
+ if (!res.ok) return;
141
+ const data = await res.json().catch(() => ({}));
142
+ const items = Array.isArray(data?.items) ? data.items : [];
143
+ for (const item of items) {
144
+ const id = typeof item?.id === "string" ? item.id : "";
145
+ if (!id) continue;
146
+ const at = Number(item?.favoritedAt) || 0;
147
+ favoritedAtByKey[id] = Math.max(
148
+ favoritedAtByKey[id] ?? 0,
149
+ at || Date.now()
150
+ );
151
+ }
152
+ const ids = Array.isArray(data?.ids) ? data.ids : [];
153
+ for (const id of ids) {
154
+ if (typeof id === "string" && id && !(id in favoritedAtByKey)) {
155
+ favoritedAtByKey[id] = 1;
156
+ }
157
+ }
158
+ } catch {
159
+ }
160
+ })
161
+ );
162
+ return favoritedAtByKey;
163
+ }
164
+ async function decorateAgentsWithPublicStatusAcrossServers(args) {
165
+ await Promise.all(
166
+ args.agents.map(async (agent) => {
167
+ try {
168
+ const result = await readLiveDbRecordAfterTombstoneMerge({
169
+ authToken: args.authToken,
170
+ dbKey: agent.publicKey,
171
+ fallbackFetchImpl: args.fallbackFetchImpl,
172
+ fetchImpl: args.fetchImpl,
173
+ serverUrls: args.serverUrls
174
+ });
175
+ agent.publicRecordExists = result.record?.isPublic === true;
176
+ } catch {
177
+ agent.publicRecordExists = false;
178
+ }
179
+ })
180
+ );
181
+ return args.agents;
182
+ }
183
+
184
+ export {
185
+ parseAgentListArgs,
186
+ listLocalCachedAgents,
187
+ listRemoteAgents,
188
+ listRemoteAgentsAcrossServers,
189
+ listFavoriteAgentIdsAcrossServers,
190
+ decorateAgentsWithPublicStatusAcrossServers
191
+ };