nolo-cli 0.106.0-alpha.1 → 0.106.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.
- package/README.md +1 -1
- package/{_executeModel-C5ZUOC7O.js → _executeModel-EP6HAX3W.js} +77 -69
- package/action-GVA5ARSJ.js +20 -0
- package/{addContentAction-O7R66HEX.js → addContentAction-NZZNAVCB.js} +13 -12
- package/{addDialogAgentAction-74OA7KYP.js → addDialogAgentAction-5HVGEIXI.js} +19 -20
- package/{agentDeleteCommand-YB3S2LPY.js → agentDeleteCommand-M25A6UGB.js} +118 -43
- package/{agentEmailCommands-YBCBTG6X.js → agentEmailCommands-RUL4NL64.js} +99 -89
- package/agentListCommands-KSPFKHFO.js +741 -0
- package/{agentMachineCommands-QHYLBTVW.js → agentMachineCommands-IHBB6PHD.js} +48 -44
- package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-ND4S2Q6Q.js} +97 -2
- package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-B4T2DJ5H.js} +1 -1
- package/agentRecordCommands-7OKIBN6H.js +138 -0
- package/agentRunCommand-GBKJTQQU.js +167 -0
- package/{agentRunControl-AVJR4JW4.js → agentRunControl-3HWA2LLQ.js} +2 -2
- package/{agentRuntimeLocal-FRUE5P2V.js → agentRuntimeLocal-E5HXZNXZ.js} +44 -40
- package/{agentSlice-7OEXULAY.js → agentSlice-7T3ZLYET.js} +15 -14
- package/{appDeleteCommands-JPWTSFID.js → appDeleteCommands-TTJUYTQN.js} +46 -42
- package/{appDeployCommands-YCVY2UYO.js → appDeployCommands-65WYK2TQ.js} +46 -42
- package/{appDeployStatusCommands-JMCEIKTI.js → appDeployStatusCommands-U4XESYYG.js} +46 -42
- package/{appGetCommands-EXWT3QAE.js → appGetCommands-VNHZZC4D.js} +46 -42
- package/{appListCommands-PKRLSWRE.js → appListCommands-O667ZEU6.js} +46 -42
- package/{authCommand-F4EFRRX6.js → authCommand-SUHHTVHA.js} +118 -24
- package/{authCommands-RGOGCPP6.js → authCommands-5RTUDYZW.js} +7 -5
- package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-PUGT65WS.js} +11 -9
- package/{chromeCommands-FZYAU75D.js → chromeCommands-AU5ZJXBG.js} +289 -37
- package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-ZYTCMNHG.js} +156 -22
- package/{chunk-ZNV445LB.js → chunk-2NGKYC3L.js} +29 -9
- package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
- package/{chunk-HVURBGF3.js → chunk-2U3NHADM.js} +6 -6
- package/{chunk-XA2FJW4L.js → chunk-3SXZ6SUC.js} +11 -9
- package/{chunk-UKZDAFYT.js → chunk-3VKDWQMJ.js} +6 -10
- package/chunk-4LCOCOR5.js +50 -0
- package/{chunk-JPGCXHNM.js → chunk-4LKMZ3RR.js} +1 -1
- package/{chunk-PQFHGD77.js → chunk-4VDS344D.js} +161 -14
- package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
- package/{chunk-6D6VBVEW.js → chunk-4W24JM32.js} +80 -14
- package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
- package/{chunk-GQBOR3G6.js → chunk-5F7UKMLN.js} +8 -4
- package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
- package/chunk-5MMAK75Q.js +15 -0
- package/{chunk-7S4YWN7P.js → chunk-5UUIGN6I.js} +4 -4
- package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
- package/{chunk-YCJN2RA3.js → chunk-6AIURTE7.js} +20 -11
- package/{chunk-VLTIYV3X.js → chunk-7I25CBT5.js} +34 -8
- package/chunk-AGIM7IMJ.js +147 -0
- package/{chunk-S4VLC46A.js → chunk-AM4G3LDJ.js} +66 -54
- package/{chunk-5UTFL4QJ.js → chunk-AOTBKDRK.js} +7 -0
- package/{chunk-TJGWNDGO.js → chunk-AZB6HR4I.js} +846 -276
- package/{chunk-L5UXH3B2.js → chunk-BIH7KCDJ.js} +58 -9
- package/{chunk-UZGQNTVW.js → chunk-BPLIXNC6.js} +8 -6
- package/chunk-CEQ75WPL.js +915 -0
- package/chunk-CHOZJMJS.js +78 -0
- package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
- package/{chunk-GPCZ7UXG.js → chunk-DBKRC5O2.js} +1 -1
- package/chunk-DJ3JABG5.js +7990 -0
- package/{chunk-Q554LLSI.js → chunk-DMXLXZKL.js} +1 -1
- package/{chunk-UOBDA2JS.js → chunk-DSXRVBTA.js} +118 -90
- package/{chunk-3VNWWVKB.js → chunk-E3YWHWCR.js} +50 -18
- package/{chunk-HJUYAD4A.js → chunk-EBS4FKW4.js} +5 -5
- package/{chunk-LC43IGO4.js → chunk-EHGIEGLI.js} +834 -962
- package/{chunk-ABQYVJBJ.js → chunk-EV235ILT.js} +5 -5
- package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
- package/{chunk-TOP2VXOR.js → chunk-FJKZSR5P.js} +5 -5
- package/{chunk-2F7RJC6L.js → chunk-FOXQ7BAB.js} +1 -1
- package/{chunk-SH43IESU.js → chunk-GGC55Q32.js} +199 -29
- package/{chunk-ZCYXJSTU.js → chunk-GMP3NBAA.js} +65 -95
- package/chunk-GMZLP5DV.js +82 -0
- package/{chunk-OIVSQH2O.js → chunk-GU7DC2TD.js} +300 -5
- package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
- package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
- package/{chunk-QOKAKDPE.js → chunk-HIM3FCLF.js} +0 -1
- package/{chunk-RJXZDT2P.js → chunk-HNA5KV37.js} +23 -28
- package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
- package/{chunk-ACTMNVHM.js → chunk-I5YMDACN.js} +1 -1
- package/{chunk-O6OSWFZQ.js → chunk-IHPDK6UD.js} +6 -0
- package/{chunk-QDSINZM3.js → chunk-IXH3HKY2.js} +1 -22
- package/{chunk-Q67DOFOO.js → chunk-IYIXAIEB.js} +199 -92
- package/{chunk-BP4XNZRM.js → chunk-JIXGJTBU.js} +4 -4
- package/{chunk-OEVAY4J6.js → chunk-JWNBEIME.js} +18 -20
- package/{chunk-Z77CRGTW.js → chunk-KA5O5KQL.js} +1 -1
- package/{chunk-JZL6EHZR.js → chunk-LGWABBTZ.js} +47 -67
- package/{chunk-LS2ZANRJ.js → chunk-LOCNXNOU.js} +1 -1
- package/{chunk-GEPUP7OO.js → chunk-LOPP5VT6.js} +3 -3
- package/{chunk-DHDMC6FO.js → chunk-LUBFABMJ.js} +15 -14
- package/chunk-LWLNLZC5.js +265 -0
- package/{chunk-BNGW5ASC.js → chunk-LYLO5U3H.js} +15 -2
- package/{chunk-4OEFYTWL.js → chunk-MJ3CRU77.js} +85 -50
- package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
- package/{chunk-NA35QHCF.js → chunk-NTNKA5VL.js} +1 -1
- package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
- package/chunk-NWENLDMM.js +42 -0
- package/chunk-O7SVKKLY.js +875 -0
- package/{chunk-FM2YTE6D.js → chunk-OAXBDMT7.js} +1 -1
- package/chunk-OCZKATRC.js +129 -0
- package/{chunk-EYAQT56M.js → chunk-ODTBO4W6.js} +9 -6
- package/{chunk-VMFTFOWF.js → chunk-OKGVNZTL.js} +35 -8
- package/{chunk-EEGDMATE.js → chunk-OQ5IVGCV.js} +86 -81
- package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
- package/{chunk-KQ4ONNQD.js → chunk-OYTWDOQV.js} +155 -8
- package/{chunk-JRQFUXY7.js → chunk-OZ2IIIRP.js} +99 -22
- package/{chunk-WV42OMV7.js → chunk-PFLF4R4E.js} +8 -8
- package/{chunk-J4MOO56S.js → chunk-QDH32WF5.js} +10 -2
- package/{chunk-3DII57IT.js → chunk-QVAWUJAJ.js} +1 -1
- package/{chunk-3BMYXEUW.js → chunk-R5AJODNI.js} +1 -1
- package/{chunk-6OZ36FXI.js → chunk-SJ7CUF65.js} +22 -4
- package/{chunk-IIVGDG4I.js → chunk-SJKULPGX.js} +13 -7
- package/{chunk-ETI2NYVF.js → chunk-SYEBIZOF.js} +4 -4
- package/{chunk-J3WULTWA.js → chunk-TLKXNTQJ.js} +19 -17
- package/chunk-TLYSGGPG.js +15 -0
- package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
- package/chunk-TY3TIUJK.js +89 -0
- package/{chunk-I3TQJXQ7.js → chunk-U3C3IA32.js} +9 -2
- package/{chunk-YYLHWIW6.js → chunk-UKZX3NHN.js} +1 -1
- package/chunk-UM7TA3K4.js +1008 -0
- package/{chunk-6YTOJY35.js → chunk-VBG7GWWR.js} +253 -8
- package/chunk-VBQGO5NX.js +164 -0
- package/chunk-VIWDGTDA.js +8 -0
- package/chunk-VJVNU77E.js +83 -0
- package/{chunk-UKWGR5SS.js → chunk-VY6VFGKR.js} +194 -1144
- package/chunk-VYKXIHRP.js +13692 -0
- package/chunk-VZLO4XJD.js +17 -0
- package/{chunk-DNCEALKX.js → chunk-WMWYWYK2.js} +22 -29
- package/{chunk-H56FOERC.js → chunk-XDQ7PHU3.js} +567 -684
- package/{chunk-AEOE4Z6Q.js → chunk-XGOHDYM2.js} +39 -15
- package/{chunk-53HEEOTT.js → chunk-XLWMNFBZ.js} +83 -16
- package/{chunk-V4MJDUSR.js → chunk-YFU5EELM.js} +2 -2
- package/{chunk-IUTWFZOX.js → chunk-YQFLBS6A.js} +68 -46
- package/chunk-YV25TM3R.js +780 -0
- package/chunk-ZRAU6T47.js +56 -0
- package/{chunk-5H7KJX7J.js → chunk-ZVGXD7UJ.js} +5 -5
- package/{chunk-H62HCIUP.js → chunk-ZYM73IHG.js} +36 -22
- package/commandRegistry-6QIAUQDS.js +833 -0
- package/{contentThunks-AZVYDLM4.js → contentThunks-5DDMUQ7B.js} +39 -36
- package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
- package/{createAgentAutomationAction-V55DNYCE.js → createAgentAutomationAction-NQ6AZM42.js} +40 -37
- package/createDialogAction-QZ6X4A7O.js +70 -0
- package/{createPageAction-I3HH23O3.js → createPageAction-NCGEJBVK.js} +47 -43
- package/{chunk-GDNQO3QR.js → cursorProvider-YGGNMVWX.js} +2751 -10172
- package/{dbSlice-XVWBAGYN.js → dbSlice-RCZ7NRAF.js} +12 -11
- package/{deleteFile-YG6QMJLU.js → deleteFile-KESP65GC.js} +7 -6
- package/{dialogCommands-YVMHDEOX.js → dialogCommands-OGQLEF63.js} +49 -46
- package/{dialogSlice-LVJ67QWE.js → dialogSlice-GIKNUHNW.js} +57 -37
- package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
- package/{docCreateCommands-7UTWDYJU.js → docCreateCommands-RW6LNYT6.js} +48 -44
- package/{docDeleteCommands-GG6BJ4PS.js → docDeleteCommands-Z742TRNY.js} +49 -45
- package/{docReadCommands-QHMQVSLP.js → docReadCommands-5DIGA42Y.js} +47 -43
- package/{docStore-UJNL6SBT.js → docStore-6GUOZH52.js} +17 -13
- package/{docUpdateCommands-QPL6IVUK.js → docUpdateCommands-ZFZ2QEVK.js} +48 -44
- package/{fetchMessages-EIU7UFFK.js → fetchMessages-3PXAHKCR.js} +5 -5
- package/{getPricing-LUSEABA6.js → getPricing-QVSNUFZ6.js} +4 -4
- package/{handleSendMessageAction-CCL7ETCL.js → handleSendMessageAction-B2VXOLMM.js} +109 -42
- package/index.js +87 -884
- package/{lib-FRRS27KN.js → lib-PU2G2MSO.js} +523 -191
- package/{localDialogRead-BTFJ4V2I.js → localDialogRead-UYCKO7YZ.js} +2 -2
- package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-TU6OBC76.js} +9 -6
- package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-VKWVOPPI.js} +1 -1
- package/{machineCommands-2QNINBNI.js → machineCommands-AI3N7JHQ.js} +93 -83
- package/machineWsRunDispatch-RPF2D6VV.js +154 -0
- package/{memberThunks-QGFLFVCI.js → memberThunks-YICJI4IS.js} +20 -18
- package/{models-T3SG6MJ5.js → models-FTNFVO3D.js} +2 -2
- package/oauthTokenStore-ITEB663N.js +23 -0
- package/package.json +1 -1
- package/pdf-U6KSUEZZ.js +26435 -0
- package/processSpawn-SOAV3FEV.js +11 -0
- package/profileConfig-ZGOFORWV.js +43 -0
- package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-OJJXQ7NM.js} +7 -7
- package/{providerRegistry-757OWH3O.js → providerRegistry-DXFBDCGQ.js} +11 -7
- package/{read-COE3ZYR6.js → read-XMBM52Y4.js} +8 -7
- package/{readDocTool-5USN4A6V.js → readDocTool-LAQHKCVT.js} +5 -3
- package/{readlineWorkspace-4GULS23D.js → readlineWorkspace-EPUCVZ73.js} +2594 -2030
- package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-HDUI2MU3.js} +22 -26
- package/{runAgentClientLoop-MUMLW2SA.js → runAgentClientLoop-OXQMDGAN.js} +78 -71
- package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-PIVSBZRZ.js} +4 -4
- package/runtimeModeArgs-2Y7BALTO.js +31 -0
- package/{setDialogExtraReferencesAction-X4HCPNZL.js → setDialogExtraReferencesAction-ADBVOP4O.js} +16 -14
- package/{setPrimaryDialogAgentAction-4GMIQLOD.js → setPrimaryDialogAgentAction-PXVXQJ62.js} +23 -27
- package/{chunk-AFUORTY4.js → settingThunks-G2MJRKUE.js} +226 -940
- package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
- package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
- package/{spaceCommands-BMXKR7H6.js → spaceCommands-Z662QYY6.js} +51 -47
- package/{streamAgentChatTurn-6EOS5PNG.js → streamAgentChatTurn-YJYEJHP7.js} +214 -114
- package/{switchDialogAgentAction-N52LRPA3.js → switchDialogAgentAction-Z3RZACGF.js} +19 -20
- package/{tableCommands-O6NWHFKV.js → tableCommands-6U4BMLRR.js} +10 -10
- package/{toolApiClient-QVJ6HDNN.js → toolApiClient-AD7CXTA4.js} +4 -3
- package/tools-GHI3WBEI.js +117 -0
- package/{tuiSummaryLlmCaller-WFRWERGK.js → tuiSummaryLlmCaller-WTC6GCQC.js} +25 -23
- package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
- package/{updateDialogTitleAction-4YUVCBDU.js → updateDialogTitleAction-GJCNWTPY.js} +84 -45
- package/action-YVYQEAAV.js +0 -31
- package/agentListCommands-3GWH4E4G.js +0 -410
- package/agentRecordCommands-P76DPWKV.js +0 -128
- package/agentRunCommand-EQPL4F4K.js +0 -156
- package/browser-image-compression-MFDTD7K6.js +0 -1763
- package/chatQueueReduxAdapter-ZBDDI2E5.js +0 -186
- package/chunk-CQ3WA2NE.js +0 -299
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-MEYIRKDN.js +0 -8967
- package/chunk-PUOC4YRO.js +0 -394
- package/chunk-Q5FJJ6XI.js +0 -103
- package/chunk-S7Z2HMCN.js +0 -25
- package/chunk-WC6UUQ2C.js +0 -20923
- package/chunk-Y5GCAMGP.js +0 -9
- package/chunk-YPREESF4.js +0 -225
- package/createDialogAction-H6URYLIZ.js +0 -65
- package/machineWsRunDispatch-S3XXOKR7.js +0 -144
- package/settingSlice-ZQZVUPKK.js +0 -204
- package/syncMapping-N6RGXGBW.js +0 -437
- package/tools-4AJZHAK3.js +0 -110
- package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
- package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
|
@@ -5,20 +5,18 @@ import {
|
|
|
5
5
|
} from "./chunk-ZJ7UHBJS.js";
|
|
6
6
|
import {
|
|
7
7
|
deleteDialog,
|
|
8
|
-
|
|
9
|
-
initReactI18next,
|
|
10
|
-
instance,
|
|
8
|
+
runtime_default,
|
|
11
9
|
toast
|
|
12
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-VYKXIHRP.js";
|
|
13
11
|
import {
|
|
14
|
-
|
|
15
|
-
} from "./chunk-
|
|
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-
|
|
19
|
+
} from "./chunk-TLYSGGPG.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-
|
|
28
|
+
} from "./chunk-YFU5EELM.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-
|
|
42
|
+
} from "./chunk-ZYM73IHG.js";
|
|
43
|
+
import {
|
|
44
|
+
DEVICE_LOCAL_OWNER_ID,
|
|
45
|
+
getRuntimeServerContext,
|
|
46
|
+
isDeviceLocalSpaceBody,
|
|
47
|
+
resolveReplicationServers,
|
|
48
|
+
scheduleDeleteReplication,
|
|
49
|
+
scheduleWriteReplication
|
|
50
|
+
} from "./chunk-O7SVKKLY.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-
|
|
71
|
+
} from "./chunk-OKGVNZTL.js";
|
|
57
72
|
import {
|
|
58
73
|
asOptionalFiniteNumber
|
|
59
74
|
} from "./chunk-WWC7I6TA.js";
|
|
60
75
|
import {
|
|
61
|
-
|
|
62
|
-
} from "./chunk-
|
|
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-
|
|
81
|
+
} from "./chunk-HIM3FCLF.js";
|
|
76
82
|
import {
|
|
77
83
|
selectIdentityUserId
|
|
78
84
|
} from "./chunk-SEJ5OS6F.js";
|
|
79
85
|
import {
|
|
80
|
-
|
|
81
|
-
} from "./chunk-
|
|
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 =
|
|
538
|
+
const nowIso = formatISO(now);
|
|
558
539
|
const dbKey = metaKey(userId, tableId);
|
|
559
|
-
const defaultTitle =
|
|
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 =
|
|
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 =
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
1437
|
+
const { deleteFileAction } = await import("./deleteFile-KESP65GC.js");
|
|
1457
1438
|
await deleteFileAction(key, thunkAPI);
|
|
1458
1439
|
},
|
|
1459
1440
|
image: async (key, { thunkAPI }) => {
|
|
1460
|
-
const { deleteFileAction } = await import("./deleteFile-
|
|
1441
|
+
const { deleteFileAction } = await import("./deleteFile-KESP65GC.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
|
-
|
|
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
|
|
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,
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// packages/cli/agentCommandSupport.ts
|
|
6
6
|
async function getDefaultCliDb() {
|
|
7
|
-
const { getDefaultCliLocalRuntimeDb } = await import("./localRuntimeDb-
|
|
7
|
+
const { getDefaultCliLocalRuntimeDb } = await import("./localRuntimeDb-VKWVOPPI.js");
|
|
8
8
|
return getDefaultCliLocalRuntimeDb();
|
|
9
9
|
}
|
|
10
10
|
function createNullCliDb() {
|
|
@@ -2,16 +2,16 @@ import {
|
|
|
2
2
|
deleteDbRecord,
|
|
3
3
|
queryUserRecords,
|
|
4
4
|
readDbRecord
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-XGOHDYM2.js";
|
|
6
6
|
import {
|
|
7
7
|
mergeAndDedupUserData
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OXME3PEE.js";
|
|
9
9
|
import {
|
|
10
10
|
toErrorMessage
|
|
11
11
|
} from "./chunk-HNMXYYJR.js";
|
|
12
12
|
import {
|
|
13
13
|
isTombstoneRecord
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-D2MDMY2M.js";
|
|
15
15
|
|
|
16
16
|
// packages/cli/globalRecordOperations.ts
|
|
17
17
|
async function listUserRecordsFromServers(args) {
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
buildSkillDocMarkdown
|
|
3
|
-
} from "./chunk-Q554LLSI.js";
|
|
4
1
|
import {
|
|
5
2
|
SYSTEM_AGENT_CAPABILITIES,
|
|
6
3
|
SYSTEM_AGENT_CAPABILITY_IDS
|
|
7
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-IXH3HKY2.js";
|
|
5
|
+
import {
|
|
6
|
+
buildSkillDocMarkdown
|
|
7
|
+
} from "./chunk-DMXLXZKL.js";
|
|
8
|
+
import {
|
|
9
|
+
CHROME_CONNECTOR_ACCEPTED_TOOL_NAMES
|
|
10
|
+
} from "./chunk-LWLNLZC5.js";
|
|
8
11
|
import {
|
|
9
12
|
createKey
|
|
10
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-OKGVNZTL.js";
|
|
11
14
|
|
|
12
15
|
// packages/ai/tools/codeWorkDiscipline.ts
|
|
13
16
|
var CODE_WORK_DISCIPLINE_BODY = `## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\uFF09
|
|
@@ -30,7 +33,7 @@ var CODE_WORK_DISCIPLINE_BODY = `## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\u
|
|
|
30
33
|
- \u6309\u89D2\u8272\u52A0\u8F7D\u5BF9\u5E94 skill\uFF1Areviewer \u5148 \`loadSkill("coding-review")\` \u62FF\u901A\u7528\u6D41\u7A0B\uFF0C\u518D\u6309\u89D2\u8272 \`loadSkill("coding-review-<role>")\` \u62FF\u68C0\u67E5\u9879\u3002\u89D2\u8272\u6E05\u5355\uFF1Acode-quality\uFF08**\u5FC5\u8DD1**\uFF09/ architecture\uFF08**\u5355\u72EC\u6D3E\u53D1**\uFF0C\u4E2D\u7EA7\u4EE5\u4E0A\u95EE\u9898\uFF09/ security\uFF08\u6309\u9700 + \u5B89\u5168\u654F\u611F\u89E6\u53D1\u5FC5\u8DD1\uFF09/ frontend-ux\uFF08\u6D89\u53CA UI \u65F6\uFF09/ backend-data\uFF08\u6D89\u53CA server \u65F6\uFF09\u3002\u89D2\u8272\u5207\u5272\u7684\u76EE\u7684\u662F\u6CE8\u610F\u529B\u9694\u79BB\u2014\u2014\u6BCF\u4E2A\u89D2\u8272\u53EA\u76EF\u81EA\u5DF1\u7684\u68C0\u67E5\u9762\uFF0C\u6309\u9700\u542F\u7528\uFF0C\u907F\u514D\u4E00\u4E2A reviewer \u80CC\u6240\u6709\u89D2\u8272\u5BFC\u81F4\u6CE8\u610F\u529B\u7A00\u91CA\u3002
|
|
31
34
|
- Verdict \u6807\u51C6\uFF1AAPPROVE\uFF08\u65E0 CRITICAL \u6216 HIGH\uFF09\u2192 \u53EF commit\uFF1BWARNING\uFF08\u4EC5 HIGH\uFF09\u2192 \u62A5\u544A owner \u51B3\u5B9A\uFF1BBLOCK\uFF08\u6709 CRITICAL\uFF09\u2192 \u5FC5\u987B\u5148\u4FEE\u3002
|
|
32
35
|
- review \u662F\u591A\u8F6E\u6536\u655B\u7684\uFF1A\u6D3E reviewer \u5BA1\u5DE5\u4F5C\u533A diff \u2192 \u51FA finding \u5C31\u4FEE \u2192 \u590D\u5BA1\uFF0C\u76F4\u5230 APPROVE \u624D\u63D0\u4EA4\u3002\u6BCF\u8F6E review \u65E0\u4E0A\u4E0B\u6587\u2014\u2014reviewer \u53EA\u770B\u5F53\u524D\u5DE5\u4F5C\u533A diff\uFF0C\u4E0D\u5E26\u4E0A\u4E00\u8F6E finding \u8BB0\u5FC6\u3002
|
|
33
|
-
- \u82E5\u5904\u4E8E\u5355 Agent \u72EC\u5360\u73AF\u5883\u3001\u5176\u4ED6 agent \u4E0D\u53EF\u8FBE\u3001\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u76F4\u63A5\u63D0\u4EA4\
|
|
36
|
+
- \u82E5\u5904\u4E8E\u5355 Agent \u72EC\u5360\u73AF\u5883\u3001\u5176\u4ED6 agent \u4E0D\u53EF\u8FBE\u3001\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u76F4\u63A5\u63D0\u4EA4\uFF1A\u4E0D\u8981\u8865\u5199\u6216\u4F2A\u9020 review \u8BC1\u636E\uFF0C\u4E5F**\u4E0D\u8981\u7528 [no-review: \u539F\u56E0] \u8FD9\u7C7B\u5199\u6CD5**\u2014\u2014\u5B83\u4EFB\u4F55\u5224\u636E\u90FD\u89E3\u6790\u4E0D\u4E86\uFF0C\u5199\u4E86\u7167\u6837\u88AB\u62E6\u3002\u81EA\u6709\u95F8\u95E8\u8BA4\u7684\u5F62\u5F0F\u662F Reviewed-by: <\u975E\u7A7A\u7F72\u540D> \u52A0 Review: \u5E26\u7ED3\u8BBA\uFF08APPROVE / Approved / WARNING\uFF0C\u5360\u4F4D\u7B26\u5982 <pending> \u4E0D\u7B97\uFF09\uFF0Ccommit-msg \u4E0E pre-push / pre-merge \u90FD\u8D70\u8FD9\u4E00\u6761\u6B63\u5219\u3002pre-push / pre-merge **\u53E6**\u8BA4\u4E00\u6761 owner-only \u8C41\u514D\uFF1A\u6B63\u6587\u5199 No-Review: <\u539F\u56E0> \u4E14 commit author email \u547D\u4E2D packages/nolo-ci/core/src/mapping.ts \u7684 NO_REVIEW_OWNER_EMAILS \u767D\u540D\u5355\u2014\u2014agent \u8EAB\u4EFD\uFF08\u5982 app-builder@nolo.local\uFF09\u4E0D\u9002\u7528\u3002\u771F\u88AB\u5361\u4F4F\u5C31\u5982\u5B9E\u4E0A\u62A5\u5361\u70B9\u3001\u7531 owner \u51B3\u5B9A\uFF1Bgit push --no-verify \u4EC5\u9650\u7BA1\u7406\u5458/\u7D27\u6025\u6062\u590D\uFF0C\u670D\u52A1\u7AEF G2 \u4E0D\u53EF\u7ED5\u8FC7\u3002`;
|
|
34
37
|
var buildCodeWorkDiscipline = (heading) => `# ${heading}
|
|
35
38
|
|
|
36
39
|
${CODE_WORK_DISCIPLINE_BODY}`;
|
|
@@ -50,9 +53,6 @@ var TOOL_PACKS = {
|
|
|
50
53
|
// queryModelUsage / queryUserGrowthReport:server-only 工具(web/CLI executor
|
|
51
54
|
// 直接返回 serverOnlyResult),不随 CORE 常驻——server 端由 agent 显式
|
|
52
55
|
// tools 配置按需挂载(utilityServerTools 执行器),web 端不再挂死 schema。
|
|
53
|
-
// setTodoList 已移至「conversation-todo」系统能力包(defaultEnabled:true)
|
|
54
|
-
// 作为唯一 owner——single source of truth:普通 agent 默认仍有 setTodoList,
|
|
55
|
-
// 但关闭「对话 Todo」开关即可真正摘掉它(CORE 常驻时该开关形同虚设)。
|
|
56
56
|
CORE: [
|
|
57
57
|
"read",
|
|
58
58
|
"createDoc",
|
|
@@ -61,6 +61,8 @@ var TOOL_PACKS = {
|
|
|
61
61
|
"updateSelf",
|
|
62
62
|
"ask_user",
|
|
63
63
|
"createAgentAutomation",
|
|
64
|
+
"updateAgentAutomation",
|
|
65
|
+
"deleteAgentAutomation",
|
|
64
66
|
"notifyUser"
|
|
65
67
|
],
|
|
66
68
|
// L2 - 联网搜索:与 CAPABILITY_PACKS「web-search」对齐。
|
|
@@ -236,7 +238,7 @@ var CAPABILITY_PACKS = [
|
|
|
236
238
|
{
|
|
237
239
|
id: "video-transcription",
|
|
238
240
|
label: "\u89C6\u9891\u8F6C\u5199",
|
|
239
|
-
description: "\u8D34\u89C6\u9891\u94FE\u63A5\u5373\u53EF\u8F6C\u5199\u4E3A\u5E26\u6807\u70B9\u6587\u672C\u4E0E SRT\u3002\u652F\u6301 B \u7AD9\u5206 P\uFF08\u9ED8\u8BA4\u5168\u90E8\u5904\u7406\uFF09\u3001YouTube \u7B49\uFF1B\u6296\u97F3\
|
|
241
|
+
description: "\u8D34\u89C6\u9891\u94FE\u63A5\u5373\u53EF\u8F6C\u5199\u4E3A\u5E26\u6807\u70B9\u6587\u672C\u4E0E SRT\u3002\u652F\u6301 B \u7AD9\u5206 P\uFF08\u9ED8\u8BA4\u5168\u90E8\u5904\u7406\uFF09\u3001YouTube \u7B49\uFF1B\u652F\u6301\u6296\u97F3\u5206\u4EAB\u6587\u6848/\u77ED\u94FE\uFF0C\u628A\u5206\u4EAB\u6587\u5B57\u91CC\u7684\u94FE\u63A5\u4F20\u7ED9 url\u3002",
|
|
240
242
|
tools: ["transcribeVideo"],
|
|
241
243
|
defaultEnabled: false,
|
|
242
244
|
icon: "\u{1F3AC}",
|
|
@@ -246,7 +248,7 @@ var CAPABILITY_PACKS = [
|
|
|
246
248
|
- \u7528\u6237\u8D34\u4E0A\u89C6\u9891\u94FE\u63A5\u65F6\uFF0C\u76F4\u63A5\u8C03\u7528 \`transcribeVideo({ url })\`\uFF0C\u4E0D\u8981\u5148\u95EE\u8981\u4E0D\u8981\u8F6C\u5199\u3002
|
|
247
249
|
- B \u7AD9\u5206 P / \u5408\u96C6\uFF1A\u7F3A\u7701\u5904\u7406\u5168\u90E8\uFF1B\u82E5\u7528\u6237\u6307\u5B9A\u300C\u53EA\u8981\u7B2C 3\u30014 \u96C6\u300D\u5219\u4F20 \`p: [3, 4]\`\u3002
|
|
248
250
|
- \u8FD4\u56DE\u91CC\u7684 \`processedParts\` / \`availableParts\` \u5FC5\u987B\u5411\u7528\u6237\u8BF4\u6E05\u695A\uFF0C\u907F\u514D\u9759\u9ED8\u4E22\u5206 P\u3002
|
|
249
|
-
- \u6296\u97F3\
|
|
251
|
+
- \u652F\u6301\u6296\u97F3\u5206\u4EAB\u6587\u6848/\u77ED\u94FE\uFF0C\u628A\u5206\u4EAB\u6587\u5B57\u91CC\u7684\u94FE\u63A5\u4F20\u7ED9 url\u3002
|
|
250
252
|
`
|
|
251
253
|
}
|
|
252
254
|
];
|
|
@@ -281,8 +283,7 @@ function resolveEffectiveEnabledPacks(args) {
|
|
|
281
283
|
}
|
|
282
284
|
var SYSTEM_BUILTIN_SKILL_PACK_IDS = SYSTEM_AGENT_CAPABILITY_IDS;
|
|
283
285
|
var DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS = [
|
|
284
|
-
"agent-orchestration"
|
|
285
|
-
"conversation-todo"
|
|
286
|
+
"agent-orchestration"
|
|
286
287
|
];
|
|
287
288
|
function getDefaultSystemCapabilityTools() {
|
|
288
289
|
const ids = DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS;
|
|
@@ -353,7 +354,7 @@ function isWebSearchTool(name) {
|
|
|
353
354
|
return WEB_SEARCH_TOOL_NAMES.has(name);
|
|
354
355
|
}
|
|
355
356
|
function isBrowserTool(name) {
|
|
356
|
-
return name.startsWith("browser_");
|
|
357
|
+
return name.startsWith("browser_") && !CHROME_CONNECTOR_ACCEPTED_TOOL_NAMES.includes(name);
|
|
357
358
|
}
|
|
358
359
|
function addDefaultLightWebToolsForConfiguredAgents(toolNames, agentConfig) {
|
|
359
360
|
const explicitToolNames = Array.isArray(
|
|
@@ -0,0 +1,265 @@
|
|
|
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
|
+
enum: ["chrome", "firefox"],
|
|
52
|
+
description: `Which browser's connector serves this call: "chrome" or "firefox". Omit for the default endpoint.`
|
|
53
|
+
};
|
|
54
|
+
var CHROME_CONNECTOR_READ_TOOL_NAMES = [
|
|
55
|
+
"browser_list_tabs",
|
|
56
|
+
"browser_read_page",
|
|
57
|
+
"browser_screenshot",
|
|
58
|
+
"browser_read_console",
|
|
59
|
+
"browser_read_network"
|
|
60
|
+
];
|
|
61
|
+
var getChromeConnectorToolBehavior = (name) => CHROME_CONNECTOR_READ_TOOL_NAMES.includes(resolveChromeConnectorToolName(name)) ? "data" : "action";
|
|
62
|
+
var getChromeConnectorToolDefaultConsent = (name) => CHROME_CONNECTOR_READ_TOOL_NAMES.includes(resolveChromeConnectorToolName(name)) ? "auto" : "ask";
|
|
63
|
+
function baseSchema(name, description, properties, required = []) {
|
|
64
|
+
return {
|
|
65
|
+
name,
|
|
66
|
+
description,
|
|
67
|
+
parameters: {
|
|
68
|
+
type: "object",
|
|
69
|
+
properties: { ...properties, target: CONNECTOR_TARGET_PROPERTY },
|
|
70
|
+
required
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
var tabId = {
|
|
75
|
+
type: "string",
|
|
76
|
+
description: "Browser tab id returned by browser_list_tabs or browser_open_tab."
|
|
77
|
+
};
|
|
78
|
+
var elementRef = {
|
|
79
|
+
type: "string",
|
|
80
|
+
description: "Revision-scoped ref like 1a2b3c4d-e2, copied verbatim from browser_read_page; preferred over selector when available."
|
|
81
|
+
};
|
|
82
|
+
var selector = {
|
|
83
|
+
type: "string",
|
|
84
|
+
description: "CSS selector for the visible page element to operate on; fallback when no elementRef is available."
|
|
85
|
+
};
|
|
86
|
+
var chromeListTabsFunctionSchema = baseSchema(
|
|
87
|
+
"browser_list_tabs",
|
|
88
|
+
"List controllable browser tabs from the user's browser profile through the Nolo Browser Connector.",
|
|
89
|
+
{}
|
|
90
|
+
);
|
|
91
|
+
var chromeOpenTabFunctionSchema = baseSchema(
|
|
92
|
+
"browser_open_tab",
|
|
93
|
+
"Open a URL in the user's browser (Chrome or Firefox) through the Nolo Browser Connector.",
|
|
94
|
+
{
|
|
95
|
+
url: {
|
|
96
|
+
type: "string",
|
|
97
|
+
description: "HTTP or HTTPS URL to open in the browser."
|
|
98
|
+
},
|
|
99
|
+
active: {
|
|
100
|
+
type: "boolean",
|
|
101
|
+
description: "Whether to focus the new browser tab. Defaults to true."
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
["url"]
|
|
105
|
+
);
|
|
106
|
+
var chromeCloseTabFunctionSchema = baseSchema(
|
|
107
|
+
"browser_close_tab",
|
|
108
|
+
"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).",
|
|
109
|
+
{
|
|
110
|
+
tabId
|
|
111
|
+
},
|
|
112
|
+
["tabId"]
|
|
113
|
+
);
|
|
114
|
+
var chromeReadPageFunctionSchema = baseSchema(
|
|
115
|
+
"browser_read_page",
|
|
116
|
+
"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. When the element list exceeds one page, continue by passing the returned nextOffset as offset. Does not read cookies or profile databases.",
|
|
117
|
+
{
|
|
118
|
+
tabId,
|
|
119
|
+
region: {
|
|
120
|
+
type: "string",
|
|
121
|
+
description: "Optional CSS selector limiting the read to part of the page."
|
|
122
|
+
},
|
|
123
|
+
maxChars: {
|
|
124
|
+
type: "number",
|
|
125
|
+
description: "Optional text character budget; the connector clamps it to a hard maximum."
|
|
126
|
+
},
|
|
127
|
+
detail: {
|
|
128
|
+
type: "string",
|
|
129
|
+
enum: ["compact", "full"],
|
|
130
|
+
description: "compact (default) returns budgeted text; full raises the budget and adds capped HTML."
|
|
131
|
+
},
|
|
132
|
+
offset: {
|
|
133
|
+
type: "integer",
|
|
134
|
+
minimum: 0,
|
|
135
|
+
description: "Optional element offset for paging. When an element list exceeds one page, continue by passing the returned nextOffset as offset."
|
|
136
|
+
},
|
|
137
|
+
viewportOnly: {
|
|
138
|
+
type: "boolean",
|
|
139
|
+
description: "Optional. When true, only elements intersecting the current viewport are listed."
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
["tabId"]
|
|
143
|
+
);
|
|
144
|
+
var chromeClickFunctionSchema = baseSchema(
|
|
145
|
+
"browser_click_element",
|
|
146
|
+
"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.",
|
|
147
|
+
{
|
|
148
|
+
tabId,
|
|
149
|
+
elementRef,
|
|
150
|
+
selector
|
|
151
|
+
},
|
|
152
|
+
["tabId"]
|
|
153
|
+
);
|
|
154
|
+
var chromeTypeFunctionSchema = baseSchema(
|
|
155
|
+
"browser_type",
|
|
156
|
+
"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.",
|
|
157
|
+
{
|
|
158
|
+
tabId,
|
|
159
|
+
elementRef,
|
|
160
|
+
selector,
|
|
161
|
+
text: {
|
|
162
|
+
type: "string",
|
|
163
|
+
description: "Text to type into the selected element."
|
|
164
|
+
},
|
|
165
|
+
clearFirst: {
|
|
166
|
+
type: "boolean",
|
|
167
|
+
description: "Whether to clear the field before typing. Defaults to true."
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
["tabId", "text"]
|
|
171
|
+
);
|
|
172
|
+
var chromePressFunctionSchema = baseSchema(
|
|
173
|
+
"browser_press",
|
|
174
|
+
"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.",
|
|
175
|
+
{
|
|
176
|
+
tabId,
|
|
177
|
+
key: {
|
|
178
|
+
type: "string",
|
|
179
|
+
description: "Key or shortcut, for example Enter, Escape, ArrowDown, or Meta+L."
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
["tabId", "key"]
|
|
183
|
+
);
|
|
184
|
+
var chromeScrollFunctionSchema = baseSchema(
|
|
185
|
+
"browser_scroll",
|
|
186
|
+
"Scroll a browser tab by pixel deltas.",
|
|
187
|
+
{
|
|
188
|
+
tabId,
|
|
189
|
+
deltaX: {
|
|
190
|
+
type: "number",
|
|
191
|
+
description: "Horizontal scroll delta in pixels."
|
|
192
|
+
},
|
|
193
|
+
deltaY: {
|
|
194
|
+
type: "number",
|
|
195
|
+
description: "Vertical scroll delta in pixels."
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
["tabId"]
|
|
199
|
+
);
|
|
200
|
+
var chromeScreenshotFunctionSchema = baseSchema(
|
|
201
|
+
"browser_screenshot",
|
|
202
|
+
"Capture a screenshot from a browser tab through the Nolo Browser Connector.",
|
|
203
|
+
{
|
|
204
|
+
tabId,
|
|
205
|
+
fullPage: {
|
|
206
|
+
type: "boolean",
|
|
207
|
+
description: "Whether to capture the full page. Defaults to false."
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
["tabId"]
|
|
211
|
+
);
|
|
212
|
+
var chromeReadConsoleFunctionSchema = baseSchema(
|
|
213
|
+
"browser_read_console",
|
|
214
|
+
"Read recent console messages from a browser tab using debugger-backed connector state.",
|
|
215
|
+
{
|
|
216
|
+
tabId,
|
|
217
|
+
limit: {
|
|
218
|
+
type: "number",
|
|
219
|
+
description: "Maximum number of recent console messages to return."
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
["tabId"]
|
|
223
|
+
);
|
|
224
|
+
var chromeReadNetworkFunctionSchema = baseSchema(
|
|
225
|
+
"browser_read_network",
|
|
226
|
+
"Read a deduplicated recent network summary from a browser tab using debugger-backed connector state. Static assets are filtered unless includeAssets is set.",
|
|
227
|
+
{
|
|
228
|
+
tabId,
|
|
229
|
+
limit: {
|
|
230
|
+
type: "number",
|
|
231
|
+
description: "Maximum number of recent network entries to return."
|
|
232
|
+
},
|
|
233
|
+
includeAssets: {
|
|
234
|
+
type: "boolean",
|
|
235
|
+
description: "Include images, CSS, fonts and other static assets. Defaults to false."
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
["tabId"]
|
|
239
|
+
);
|
|
240
|
+
var chromeConnectorToolSchemas = [
|
|
241
|
+
chromeListTabsFunctionSchema,
|
|
242
|
+
chromeOpenTabFunctionSchema,
|
|
243
|
+
chromeCloseTabFunctionSchema,
|
|
244
|
+
chromeReadPageFunctionSchema,
|
|
245
|
+
chromeClickFunctionSchema,
|
|
246
|
+
chromeTypeFunctionSchema,
|
|
247
|
+
chromePressFunctionSchema,
|
|
248
|
+
chromeScrollFunctionSchema,
|
|
249
|
+
chromeScreenshotFunctionSchema,
|
|
250
|
+
chromeReadConsoleFunctionSchema,
|
|
251
|
+
chromeReadNetworkFunctionSchema
|
|
252
|
+
];
|
|
253
|
+
async function chromeConnectorUnavailableFunc() {
|
|
254
|
+
throw new Error("Browser connector tools are only executable in the Nolo desktop local runtime.");
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export {
|
|
258
|
+
CHROME_CONNECTOR_LEGACY_TOOL_ALIASES,
|
|
259
|
+
CHROME_CONNECTOR_ACCEPTED_TOOL_NAMES,
|
|
260
|
+
canonicalizeChromeConnectorToolNames,
|
|
261
|
+
getChromeConnectorToolBehavior,
|
|
262
|
+
getChromeConnectorToolDefaultConsent,
|
|
263
|
+
chromeConnectorToolSchemas,
|
|
264
|
+
chromeConnectorUnavailableFunc
|
|
265
|
+
};
|