nolo-cli 0.38.0-alpha.3 → 0.47.0-alpha.2
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/{_executeModel-SWONBJ7Z.js → _executeModel-5PG6CUWD.js} +41 -42
- package/{action-KMBZ3LCZ.js → action-FLLC2SIX.js} +7 -7
- package/{addContentAction-KQ44UT2U.js → addContentAction-SVSPUUK4.js} +6 -6
- package/{addDialogAgentAction-ILSDCMYL.js → addDialogAgentAction-W3JGU4F7.js} +5 -5
- package/{agentDeleteCommand-SMUJYI6N.js → agentDeleteCommand-SHSPQZHI.js} +25 -26
- package/{agentEmailCommands-YWCGZ4RO.js → agentEmailCommands-LQKO5GRW.js} +54 -55
- package/{agentListCommands-ULFV2XJQ.js → agentListCommands-5QTNEYMQ.js} +31 -29
- package/{agentMachineCommands-7YZ2TIYZ.js → agentMachineCommands-P5K454CN.js} +24 -25
- package/{agentPullCommand-TSWAJPS2.js → agentPullCommand-M552CYSI.js} +2 -2
- package/{agentRecordCommands-EVOSSHJR.js → agentRecordCommands-Z4QYCNP4.js} +50 -51
- package/{agentRunCommand-PO55WUIY.js → agentRunCommand-HV3Y34B5.js} +52 -53
- package/{agentRunControl-7MUPSYDQ.js → agentRunControl-LHXOP4IU.js} +43 -1
- package/{agentRuntimeLocal-Q6D3G6G7.js → agentRuntimeLocal-ZKXYFLXI.js} +20 -21
- package/{agentSlice-6TRUUOSX.js → agentSlice-NKFLP3RI.js} +6 -6
- package/{agentSuperviseCommands-MKWW3ICX.js → agentSuperviseCommands-IMRZ56RC.js} +2 -2
- package/{appDeleteCommands-JDBSRLTX.js → appDeleteCommands-XYGAZIJX.js} +24 -25
- package/{appDeployCommands-Q5H2NBKQ.js → appDeployCommands-7T5CABRB.js} +24 -25
- package/{appDeployStatusCommands-PSYBUIZT.js → appDeployStatusCommands-KTFQMRPZ.js} +24 -25
- package/{appGetCommands-IX64IUW6.js → appGetCommands-HOX2ULSV.js} +24 -25
- package/{appListCommands-BJZFX65H.js → appListCommands-3SLCEHND.js} +24 -25
- package/{authCommand-B2XRHNJH.js → authCommand-OY2E2VQK.js} +12 -12
- package/{authCommands-GWABTFMR.js → authCommands-SBQVTD6V.js} +5 -5
- package/{chatQueueReduxAdapter-N7Z5MUPU.js → chatQueueReduxAdapter-WMMBQK3Y.js} +20 -20
- package/chunk-25J3BB35.js +6041 -0
- package/{chunk-U6QQLXWI.js → chunk-2X5S4IBZ.js} +1 -1
- package/{chunk-MJWX4JQO.js → chunk-3EEK7T3D.js} +1 -1
- package/{chunk-UNHKVD2N.js → chunk-43CXXVJD.js} +1 -1
- package/{chunk-WRP5TTM6.js → chunk-4MXGXSYN.js} +83 -3
- package/{chunk-7N7XKGEQ.js → chunk-4ZNDBDWG.js} +6 -6
- package/{chunk-XVVNNJAA.js → chunk-5BPZLBFB.js} +20 -51
- package/{chunk-MWGCZ4CS.js → chunk-5PPFYHU2.js} +3 -3
- package/{chunk-W445DPVT.js → chunk-5QRCPERU.js} +1 -1
- package/{chunk-GKHV4UH5.js → chunk-5UOBIU5G.js} +31 -3
- package/{chunk-BMB563Y6.js → chunk-6BYAXNH5.js} +3 -3
- package/{chunk-SMPAUSX5.js → chunk-6FGXGFAH.js} +2 -2
- package/{chunk-46VPXYIV.js → chunk-6LYUN76O.js} +5 -5
- package/{chunk-FTM4KUOZ.js → chunk-7XTC3KRG.js} +1 -1
- package/{chunk-IMHO5LC6.js → chunk-7XZ5GXSN.js} +1 -1
- package/{chunk-E2OQ5N2F.js → chunk-AEXP2UZT.js} +341 -16
- package/{chunk-MZZZYUZS.js → chunk-AV2CELZZ.js} +37 -12
- package/{chunk-JI2TIPLP.js → chunk-AYXSUBVC.js} +1 -1
- package/{chunk-J6WH4PYZ.js → chunk-CIF4X6ZM.js} +1 -1
- package/{chunk-GZRMWK5R.js → chunk-DQLYEGP7.js} +2 -2
- package/{chunk-GUYMR3JL.js → chunk-E2QH2AYX.js} +69 -3
- package/{chunk-B6H5XCT2.js → chunk-EMEUU5IY.js} +3 -3
- package/{chunk-X6EN3KJX.js → chunk-ENYDQKOB.js} +319 -71
- package/{chunk-RCFIB45Q.js → chunk-EVBFYPDC.js} +2 -2
- package/{chunk-PV734VZX.js → chunk-EXLOROHG.js} +1 -1
- package/{chunk-WRN7L5CS.js → chunk-FA4SY4F5.js} +1 -1
- package/{chunk-4WVNHL3V.js → chunk-FAWK6DBF.js} +157 -51
- package/{chunk-IFS5CUEH.js → chunk-FJHLA6SX.js} +1 -1
- package/{chunk-T2BZICLK.js → chunk-G46DB6KG.js} +49 -6
- package/{chunk-FGLKRJDI.js → chunk-GK74OOFT.js} +2 -2
- package/{chunk-LM6IYQ3F.js → chunk-GLKOYSRU.js} +8 -1
- package/{chunk-JIADXJYU.js → chunk-H2G6JXTR.js} +1 -1
- package/{chunk-IKGHZMK2.js → chunk-H2JQB6B6.js} +12 -12
- package/{chunk-MGIHZ5CJ.js → chunk-HAPCUPEO.js} +2 -2
- package/{chunk-LD6Y6RJY.js → chunk-HGDOIDQ4.js} +2 -2
- package/{chunk-NZLQ7B5P.js → chunk-HOM6NILS.js} +3 -3
- package/{chunk-IZNJDUJ4.js → chunk-I4JISVWK.js} +1 -1
- package/{chunk-N4XRDM26.js → chunk-IA3A5373.js} +2 -2
- package/{chunk-Y5MMUI3L.js → chunk-IWUPQUWA.js} +2 -2
- package/{chunk-L7SMDIL6.js → chunk-JEGPB5H2.js} +3 -3
- package/{chunk-GEPHJJW4.js → chunk-L7NG2M6H.js} +1 -1
- package/{chunk-XQES6LXQ.js → chunk-LFLWZX76.js} +2 -2
- package/{chunk-IIOHYLIG.js → chunk-LGUQHYAL.js} +1 -1
- package/{chunk-4AWH4LQA.js → chunk-LYGNQHUW.js} +3 -1
- package/{db-3H3JECGY.js → chunk-M5PVFLD4.js} +11 -158
- package/{chunk-WN5AJG5I.js → chunk-MKZRKDQM.js} +1 -1
- package/{chunk-VOXNBPLB.js → chunk-MUIJYGYW.js} +649 -41
- package/{chunk-CYAC5WXX.js → chunk-MWT2BBCH.js} +213 -45
- package/{chunk-V5GA74HI.js → chunk-MZXZJVVD.js} +20 -39
- package/{chunk-ZBB3MZR3.js → chunk-OLNC7AWK.js} +7 -4
- package/{chunk-J5NMOM35.js → chunk-OYNDYVSE.js} +1 -1
- package/{chunk-C6ELZQ7H.js → chunk-OZVGA4SY.js} +1 -1
- package/{chunk-K4KIFRIN.js → chunk-Q24S4NDF.js} +1 -1
- package/{chunk-NRROOY22.js → chunk-Q6DMA2OM.js} +271 -130
- package/{chunk-2WKUUY2E.js → chunk-SVEUG45B.js} +5 -3
- package/{chunk-IZCHPD7T.js → chunk-TNPCQNGQ.js} +11 -6
- package/{chunk-4DMPISV6.js → chunk-URBGEE42.js} +2 -2
- package/{chunk-2KO5QQFV.js → chunk-V2IPBG5U.js} +1 -1
- package/{chunk-B6YYACBT.js → chunk-WPFNAEIW.js} +1 -1
- package/{chunk-23KKIMD5.js → chunk-WVGEBWA6.js} +4 -4
- package/{chunk-KU6CDTZ5.js → chunk-XMI3APSU.js} +61 -49
- package/{chunk-64KIQZA2.js → chunk-XO3G35OV.js} +1 -1
- package/{chunk-UWGWUOVN.js → chunk-YNOGNUBC.js} +108 -47
- package/{chunk-XT73C4VH.js → chunk-Z5NW3O7V.js} +1 -1
- package/{codingSkills-H6N5EKSX.js → codingSkills-BYQI6EPT.js} +2 -2
- package/{createAgentAutomationAction-U57ZMPMS.js → createAgentAutomationAction-ENDNA3Q4.js} +21 -21
- package/{createDialogAction-MAJLBNK4.js → createDialogAction-2KNX6S2D.js} +23 -23
- package/{createPageAction-4EX7HU6G.js → createPageAction-SNBCYPK6.js} +21 -21
- package/db-VQSAOWAO.js +162 -0
- package/{dbSlice-PIQGICNM.js → dbSlice-XWUM4QOF.js} +5 -5
- package/deleteFile-NPZ64DFN.js +1 -1
- package/{dialogCommands-4MHZXEIS.js → dialogCommands-6E5P35DG.js} +28 -26
- package/{dialogSlice-AL3UJLOJ.js → dialogSlice-RTPOD6EW.js} +20 -20
- package/{docCreateCommands-GDYFEK67.js → docCreateCommands-JWY25UFB.js} +23 -24
- package/{docDeleteCommands-WIE5CXED.js → docDeleteCommands-BPJOCSX4.js} +24 -25
- package/{docReadCommands-LTOOPJVC.js → docReadCommands-BSEZCYTQ.js} +23 -24
- package/{docStore-35B5VAFF.js → docStore-TYHVLU7G.js} +22 -22
- package/{docUpdateCommands-TZGAGXSG.js → docUpdateCommands-S2IE2VV4.js} +23 -24
- package/{fetchMessages-CUEFN4GQ.js → fetchMessages-KZQVBXKY.js} +3 -3
- package/{getPricing-P3E2WRIH.js → getPricing-X3HXP6VQ.js} +3 -3
- package/{handleSendMessageAction-PXX2R5JS.js → handleSendMessageAction-QYXDQXGH.js} +21 -21
- package/index.js +69 -69
- package/levelLazyShim-GZBKODGI.js +7 -0
- package/{localDialogRead-P7CHFMIC.js → localDialogRead-NQ33HBSI.js} +2 -2
- package/{localRuntimeAuthority-S77B5QVB.js → localRuntimeAuthority-KQDAE64E.js} +4 -4
- package/{localRuntimeDb-N3H3HQ7G.js → localRuntimeDb-PF7CFKDL.js} +2 -2
- package/{machineCommands-VCPPY23X.js → machineCommands-QCE4KLGR.js} +48 -49
- package/{machineWsRunDispatch-A4C727GL.js → machineWsRunDispatch-FBRMGU5D.js} +48 -49
- package/{models-L7S2EKPM.js → models-7LWATQFH.js} +2 -2
- package/package.json +1 -1
- package/{read-6C2XD3YZ.js → read-DQQ75VI3.js} +2 -2
- package/{readDocTool-Y7AB365O.js → readDocTool-HCQQFAZD.js} +1 -1
- package/{readlineWorkspace-BIBIM6DG.js → readlineWorkspace-2TACWKMN.js} +164 -78
- package/{removeDialogAgentAction-KG5WMJRZ.js → removeDialogAgentAction-DNONRKST.js} +7 -7
- package/{runAgentClientLoop-RKDXMIZW.js → runAgentClientLoop-GBLDVBT5.js} +39 -39
- package/{runtimeDoctorCommands-HT4O2PXL.js → runtimeDoctorCommands-JKTTN723.js} +4 -4
- package/serverStoreFactory-YMXDF4NI.js +20 -0
- package/{setDialogExtraReferencesAction-O2NLXMSM.js → setDialogExtraReferencesAction-ERHUPT3F.js} +6 -6
- package/{setPrimaryDialogAgentAction-FYYUY7PB.js → setPrimaryDialogAgentAction-6C2HYNEC.js} +7 -7
- package/{settingSlice-GPLI6E3M.js → settingSlice-YVRJFKQX.js} +6 -6
- package/{spaceCommands-4FMO3SNP.js → spaceCommands-XOLPJMRK.js} +23 -24
- package/{spaceSlice-2W4GJ2OE.js → spaceSlice-OQPAGQDP.js} +21 -21
- package/{streamAgentChatTurn-FS52LDQP.js → streamAgentChatTurn-SN5XJJ7U.js} +91 -49
- package/{switchDialogAgentAction-GH5P6Q3Z.js → switchDialogAgentAction-HP57XYFP.js} +5 -5
- package/{tools-3J5CKEE7.js → tools-Y65Y3CI4.js} +32 -32
- package/{tuiSummaryLlmCaller-SHRB4RWM.js → tuiSummaryLlmCaller-NBTWT57U.js} +25 -14
- package/{updateDialogTitleAction-5MGPA3OO.js → updateDialogTitleAction-OAOP7CCE.js} +24 -23
- package/chunk-4APLX2RT.js +0 -1514
- package/chunk-P66M7LSQ.js +0 -58
- package/{chunk-6WD3OOJS.js → chunk-UV6VISQJ.js} +0 -0
- package/{tableCommands-PQUJ55AS.js → tableCommands-P2TXJ3CF.js} +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
deleteDialog,
|
|
3
3
|
toast
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FAWK6DBF.js";
|
|
5
5
|
import {
|
|
6
6
|
deleteServerSyncedCredential
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6LYUN76O.js";
|
|
8
8
|
import {
|
|
9
9
|
require_date_fns
|
|
10
10
|
} from "./chunk-M76ECQRD.js";
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
} from "./chunk-HNMXYYJR.js";
|
|
20
20
|
import {
|
|
21
21
|
isSystemAdmin
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-EMEUU5IY.js";
|
|
23
23
|
import {
|
|
24
24
|
asRecordOrEmpty
|
|
25
25
|
} from "./chunk-KX6YBIHG.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
createSpaceKey,
|
|
31
31
|
localSpaceAuthorityPatchStamp,
|
|
32
32
|
normalizeSpaceId
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-3EEK7T3D.js";
|
|
34
34
|
import {
|
|
35
35
|
patch,
|
|
36
36
|
read,
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
uploadFileAction,
|
|
44
44
|
upsertSSREntity,
|
|
45
45
|
write
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-WVGEBWA6.js";
|
|
47
47
|
import {
|
|
48
48
|
DB_PREFIX,
|
|
49
49
|
SEPARATOR,
|
|
@@ -62,17 +62,17 @@ import {
|
|
|
62
62
|
splitKey,
|
|
63
63
|
toTrimmedString,
|
|
64
64
|
ulid
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-SVEUG45B.js";
|
|
66
|
+
import {
|
|
67
|
+
asOptionalFiniteNumber
|
|
68
|
+
} from "./chunk-WWC7I6TA.js";
|
|
66
69
|
import {
|
|
67
70
|
asNonEmptyStringArray,
|
|
68
71
|
asTrimmedNonEmptyStringArray
|
|
69
72
|
} from "./chunk-I42VC5KR.js";
|
|
70
|
-
import {
|
|
71
|
-
asOptionalFiniteNumber
|
|
72
|
-
} from "./chunk-WWC7I6TA.js";
|
|
73
73
|
import {
|
|
74
74
|
readAction
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-Z5NW3O7V.js";
|
|
76
76
|
import {
|
|
77
77
|
extractUserId
|
|
78
78
|
} from "./chunk-BJIRLHJR.js";
|
|
@@ -7053,7 +7053,7 @@ var fetchSpaceAction = async (input, thunkAPI) => {
|
|
|
7053
7053
|
const spaceKey = createSpaceKey.space(spaceId);
|
|
7054
7054
|
const readSpace = async (dbKey) => {
|
|
7055
7055
|
try {
|
|
7056
|
-
const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-
|
|
7056
|
+
const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-XWUM4QOF.js");
|
|
7057
7057
|
if (fresh) {
|
|
7058
7058
|
return await dispatch(readAndWait2(dbKey)).unwrap();
|
|
7059
7059
|
}
|
|
@@ -7467,7 +7467,7 @@ var spaceSlice = createSliceWithThunks2({
|
|
|
7467
7467
|
markDialogRead: create.asyncThunk(
|
|
7468
7468
|
async (payload, thunkAPI) => {
|
|
7469
7469
|
if (payload.dialogKey) {
|
|
7470
|
-
const { patch: patch2 } = await import("./dbSlice-
|
|
7470
|
+
const { patch: patch2 } = await import("./dbSlice-XWUM4QOF.js");
|
|
7471
7471
|
try {
|
|
7472
7472
|
await thunkAPI.dispatch(
|
|
7473
7473
|
patch2({ dbKey: payload.dialogKey, changes: { unreadAt: null } })
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
selectCurrentServer,
|
|
3
3
|
selectRemoteServers
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EMEUU5IY.js";
|
|
5
5
|
import {
|
|
6
6
|
createUserKey,
|
|
7
7
|
extractAgentInfo,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
sanitizeShareData,
|
|
11
11
|
shareKey,
|
|
12
12
|
toNonEmptyString
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-SVEUG45B.js";
|
|
14
14
|
import {
|
|
15
15
|
noloDeleteRequest,
|
|
16
16
|
noloWriteRequest,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
clearCliLocalRuntimePreparedAgentCache
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Q6DMA2OM.js";
|
|
4
4
|
import {
|
|
5
5
|
getReadableCliDb
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-43CXXVJD.js";
|
|
7
7
|
import {
|
|
8
8
|
buildCreatedAgentRecord,
|
|
9
9
|
buildUpdatedAgentRecord,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
resolveAgentRecordFromHybridStore,
|
|
13
13
|
sanitizeAgentRecordForCliOutput,
|
|
14
14
|
writeAgentRecord
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-DQLYEGP7.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveCliAgentKeyInput
|
|
18
18
|
} from "./chunk-EKLRRZIN.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveNoloHome
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GLKOYSRU.js";
|
|
4
4
|
|
|
5
5
|
// packages/cli/localRuntimeDb.ts
|
|
6
6
|
import path from "node:path";
|
|
@@ -14,7 +14,7 @@ function buildCliLocalRuntimeDbEnv(env = process.env) {
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
async function getDefaultCliLocalRuntimeDb(options = {}) {
|
|
17
|
-
const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-
|
|
17
|
+
const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-KQDAE64E.js");
|
|
18
18
|
return getAuthorityBackedDb(options);
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
i18n_default,
|
|
3
3
|
toolRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YNOGNUBC.js";
|
|
5
5
|
import {
|
|
6
6
|
canonicalizeToolNames
|
|
7
7
|
} from "./chunk-O6OSWFZQ.js";
|
|
8
8
|
import {
|
|
9
9
|
isNoloHostedProvider
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ENYDQKOB.js";
|
|
11
11
|
import {
|
|
12
12
|
asTrimmedLowercaseString
|
|
13
13
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCliLocalRuntimeAdapter,
|
|
3
3
|
summarizeEndpoint
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Q6DMA2OM.js";
|
|
5
5
|
import {
|
|
6
6
|
clipMultilineText
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YNOGNUBC.js";
|
|
8
8
|
import {
|
|
9
9
|
runLocalAgentTurn
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MUIJYGYW.js";
|
|
11
11
|
import {
|
|
12
12
|
resolveLocalRuntimeEnvFromPolicy
|
|
13
13
|
} from "./chunk-NQ4N4IGO.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readDbRecord,
|
|
3
3
|
writeAgentRecord
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DQLYEGP7.js";
|
|
5
5
|
import {
|
|
6
6
|
buildSkillSummaryMarker
|
|
7
7
|
} from "./chunk-VF4K2QE6.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-A7GB5UGH.js";
|
|
14
14
|
import {
|
|
15
15
|
createSpaceKey
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-3EEK7T3D.js";
|
|
17
17
|
import {
|
|
18
18
|
asTrimmedLowercaseString
|
|
19
19
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -22,7 +22,7 @@ var CODE_WORK_DISCIPLINE_BODY = `## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\u
|
|
|
22
22
|
- **\u5EFA\u8BAE\u6C47\u62A5**\uFF1A\u4EA4\u4ED8\u65F6\u628A\u8FC7\u7A0B\u4E2D\u53D1\u73B0\u7684**\u4EFB\u4F55\u503C\u5F97\u7528\u6237\u77E5\u9053\u7684\u4E8B**\u90FD\u5217\u51FA\u6765\uFF08\u9884\u5B58\u65E0\u5173\u6539\u52A8\u3001\u65E2\u6709\u6D4B\u8BD5\u9694\u79BB\u95EE\u9898\u3001\u6F5C\u5728\u98CE\u9669\u3001\u540E\u7EED\u53EF\u4F18\u5316\u70B9\u3001\u9700\u7528\u6237\u51B3\u7B56\u7684\u4E8B\u9879\uFF09\uFF0C\u4E0D\u8981\u53EA\u62A5\u300C\u505A\u5B8C\u4E86\u300D\u3002
|
|
23
23
|
|
|
24
24
|
## Review \u7EAA\u5F8B\uFF08commit \u524D\u786C\u95E8\uFF09
|
|
25
|
-
- \u9664 \u22642 \u6B65\u96F6\u903B\u8F91\u98CE\u9669\u7684\u673A\u68B0\u6539\u52A8\uFF08\u9519\u522B\u5B57/\u683C\u5F0F/CSS \u5FAE\u8C03\uFF09\u5916\uFF0C\u6240\u6709\u4EE3\u7801\u53D8\u66F4 commit \u524D\u5FC5\u987B\u5148\u6D3E**\u5176\u4ED6 agent**\uFF08\u4E0D\u540C\u6A21\u578B\u5BB6\u65CF\u4F18\u5148\uFF09review \u5DE5\u4F5C\u533A diff\uFF08\`git diff\`\uFF0C\u672A\u63D0\u4EA4\u7684\u6539\u52A8\uFF09\u3002reviewer \u4E0D\u53EF\u662F\u81EA\u5DF1\u3002\u65E0 review \u4E0D commit\u2014\u2014\u8FD9\u662F\u786C\u95E8\uFF0C\u4E0D\u662F\u5EFA\u8BAE\u3002
|
|
25
|
+
- \u9664 \u22642 \u6B65\u96F6\u903B\u8F91\u98CE\u9669\u7684\u673A\u68B0\u6539\u52A8\uFF08\u9519\u522B\u5B57/\u683C\u5F0F/CSS \u5FAE\u8C03\uFF09\u5916\uFF0C\u6240\u6709\u4EE3\u7801\u53D8\u66F4 commit \u524D\u5FC5\u987B\u5148\u6D3E**\u5176\u4ED6 agent**\uFF08\u4E0D\u540C\u6A21\u578B\u5BB6\u65CF\u4F18\u5148\uFF09review \u5DE5\u4F5C\u533A diff\uFF08\`git diff\`\uFF0C\u672A\u63D0\u4EA4\u7684\u6539\u52A8\uFF09\u3002reviewer \u4E0D\u53EF\u662F\u672C\u6B21\u6539\u52A8\u7684\u4F5C\u8005\uFF08\u7F16\u6392\u8005\u4EE5\u81EA\u8EAB agent \u8EAB\u4EFD\u6D3E\u51FA\u7684\u5168\u65B0\u5B9E\u4F8B\u4E0D\u5171\u4EAB\u7F16\u6392\u8005\u4E0A\u4E0B\u6587\uFF0C\u4E0E\u4F5C\u8005\u8DE8\u6A21\u578B\u5BB6\u65CF\u65F6\u4E0D\u7B97\u300C\u81EA\u5DF1\u300D\uFF0C\u8DE8\u5BB6\u65CF\u4F18\u5148\u975E\u5F3A\u5236\uFF09\u3002\u65E0 review \u4E0D commit\u2014\u2014\u8FD9\u662F\u786C\u95E8\uFF0C\u4E0D\u662F\u5EFA\u8BAE\u3002
|
|
26
26
|
- \u6D3E\u53D1\u8D70 \`startAgentRun(agentKey, task, { ephemeral: true })\`\uFF08web/\u684C\u9762\u7AEF\u6CA1\u6709 nolo CLI\uFF0C\u6240\u6709 host \u90FD\u6709\u8FD9\u4E2A\u5DE5\u5177\uFF09\u3002ephemeral \u8BA9 review \u5B8C\u6210\u540E\u4E0D\u7559 dialog \u8BB0\u5F55\u3002
|
|
27
27
|
- task \u91CC\u5FC5\u987B\u5199\u660E\u5BA1\u67E5\u5BF9\u8C61\uFF08\`git diff\` \u770B\u5DE5\u4F5C\u533A\u6539\u52A8\uFF0C\u6216 \`git diff alpha...HEAD\` \u770B\u5DF2\u63D0\u4EA4\u6539\u52A8\uFF09\uFF0C\u5426\u5219 reviewer \u4E0D\u77E5\u9053\u5BA1\u4EC0\u4E48\u3002
|
|
28
28
|
- \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
|
|
@@ -183,6 +183,7 @@ function parseAgentRunArgs(args, options = {}) {
|
|
|
183
183
|
const dodCommands = readRepeatedFlagValues(args, "--dod").map((v) => v.trim()).filter(Boolean);
|
|
184
184
|
const taskRowDbKey = readFlagValue(args, "--task-row-dbkey");
|
|
185
185
|
const artifactIds = readFlagValue(args, "--artifact-ids")?.split(",").map((item) => item.trim()).filter(Boolean);
|
|
186
|
+
const queueFile = readFlagValue(args, "--queue-file");
|
|
186
187
|
return {
|
|
187
188
|
agentKey,
|
|
188
189
|
message,
|
|
@@ -217,7 +218,8 @@ function parseAgentRunArgs(args, options = {}) {
|
|
|
217
218
|
...cwd ? { cwd } : {},
|
|
218
219
|
...blockedToolNames.length ? { blockedToolNames } : {},
|
|
219
220
|
...dodCommands.length ? { dodCommands } : {},
|
|
220
|
-
...typeof timeoutMs === "number" ? { timeoutMs } : {}
|
|
221
|
+
...typeof timeoutMs === "number" ? { timeoutMs } : {},
|
|
222
|
+
...queueFile ? { queueFile } : {}
|
|
221
223
|
};
|
|
222
224
|
}
|
|
223
225
|
|
|
@@ -1,30 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createLegacyServerDb,
|
|
3
3
|
createLevelAuthorityStore
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import {
|
|
6
|
-
isLevelLockError
|
|
7
|
-
} from "./chunk-URMS4XY2.js";
|
|
4
|
+
} from "./chunk-CIF4X6ZM.js";
|
|
8
5
|
import {
|
|
9
6
|
Level
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import {
|
|
12
|
-
resolveServerDbPath
|
|
13
|
-
} from "./chunk-LM6IYQ3F.js";
|
|
7
|
+
} from "./chunk-UV6VISQJ.js";
|
|
14
8
|
import {
|
|
15
9
|
asTrimmedLowercaseString
|
|
16
10
|
} from "./chunk-QSJ3HFEF.js";
|
|
17
|
-
import "./chunk-4VNS5WPM.js";
|
|
18
|
-
|
|
19
|
-
// packages/database-engine/ensureDbOpen.ts
|
|
20
|
-
async function ensureDbOpen(db) {
|
|
21
|
-
if (db.status === "open") {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
if (typeof db.open === "function") {
|
|
25
|
-
await db.open();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
11
|
|
|
29
12
|
// packages/database-engine/serverStoreFactory.ts
|
|
30
13
|
import fs from "fs";
|
|
@@ -343,151 +326,21 @@ function getOrCreateServerStoreRuntime(dbPath, options = {}) {
|
|
|
343
326
|
} else if (!cachedDriver) {
|
|
344
327
|
globalScope.__serverAuthorityStoreDriver = driver;
|
|
345
328
|
}
|
|
346
|
-
const
|
|
329
|
+
const authorityStore = globalScope.__serverAuthorityStore;
|
|
347
330
|
if (!globalScope.__serverDb) {
|
|
348
|
-
globalScope.__serverDb = createLegacyServerDb(
|
|
331
|
+
globalScope.__serverDb = createLegacyServerDb(authorityStore);
|
|
349
332
|
}
|
|
350
333
|
return {
|
|
351
|
-
authorityStore
|
|
334
|
+
authorityStore,
|
|
352
335
|
serverDb: globalScope.__serverDb
|
|
353
336
|
};
|
|
354
337
|
}
|
|
355
338
|
|
|
356
|
-
// packages/database-engine/db.ts
|
|
357
|
-
var DB_PATH = resolveServerDbPath();
|
|
358
|
-
console.log("\u6570\u636E\u5E93\u914D\u7F6E:");
|
|
359
|
-
console.log("- \u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55:", process.cwd());
|
|
360
|
-
console.log("- \u6570\u636E\u5E93\u8DEF\u5F84:", DB_PATH);
|
|
361
|
-
function isServerDbLockError(error) {
|
|
362
|
-
const queue = [error];
|
|
363
|
-
const seen = /* @__PURE__ */ new Set();
|
|
364
|
-
while (queue.length > 0) {
|
|
365
|
-
const current = queue.shift();
|
|
366
|
-
if (!current || seen.has(current)) continue;
|
|
367
|
-
seen.add(current);
|
|
368
|
-
if (isLevelLockError(current)) return true;
|
|
369
|
-
if (current?.cause) queue.push(current.cause);
|
|
370
|
-
if (Array.isArray(current?.errors)) {
|
|
371
|
-
queue.push(...current.errors);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
return false;
|
|
375
|
-
}
|
|
376
|
-
var ServerDbShuttingDownError = class extends Error {
|
|
377
|
-
code = "SERVER_DB_SHUTTING_DOWN";
|
|
378
|
-
// advisory-only:现有调用方检查 isLevelLifecycleError(匹配 LEVEL_*_NOT_OPEN),
|
|
379
|
-
// 不消费此字段。保留是为了未来可能的 shutdown-aware retry 逻辑。
|
|
380
|
-
retryable = true;
|
|
381
|
-
constructor(message) {
|
|
382
|
-
super(message);
|
|
383
|
-
this.name = "ServerDbShuttingDownError";
|
|
384
|
-
}
|
|
385
|
-
};
|
|
386
|
-
var {
|
|
387
|
-
authorityStore,
|
|
388
|
-
serverDb
|
|
389
|
-
} = getOrCreateServerStoreRuntime(DB_PATH);
|
|
390
|
-
console.log("- LevelDB\u5B9E\u9645\u8DEF\u5F84:", serverDb.location);
|
|
391
|
-
var db_default = serverDb;
|
|
392
|
-
function getServerAuthorityStore() {
|
|
393
|
-
return authorityStore;
|
|
394
|
-
}
|
|
395
|
-
var DEFAULT_SERVER_DB_OPEN_LOCK_TIMEOUT_MS = 8e3;
|
|
396
|
-
var DEFAULT_SERVER_DB_OPEN_LOCK_INTERVAL_MS = 25;
|
|
397
|
-
var serverDbShuttingDown = false;
|
|
398
|
-
function markServerDbShuttingDown() {
|
|
399
|
-
serverDbShuttingDown = true;
|
|
400
|
-
}
|
|
401
|
-
function clearServerDbShuttingDown() {
|
|
402
|
-
serverDbShuttingDown = false;
|
|
403
|
-
}
|
|
404
|
-
function resolveServerDbOpenLockTimeoutMs(env = process.env) {
|
|
405
|
-
const raw = env.NOLO_SERVER_DB_OPEN_LOCK_TIMEOUT_MS;
|
|
406
|
-
if (!raw) return DEFAULT_SERVER_DB_OPEN_LOCK_TIMEOUT_MS;
|
|
407
|
-
const parsed = Number(raw);
|
|
408
|
-
return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_SERVER_DB_OPEN_LOCK_TIMEOUT_MS;
|
|
409
|
-
}
|
|
410
|
-
function defaultSleep(ms) {
|
|
411
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
412
|
-
}
|
|
413
|
-
async function ensureServerDbOpen(options) {
|
|
414
|
-
const status = authorityStore.status;
|
|
415
|
-
if (status === "open") return;
|
|
416
|
-
if (serverDbShuttingDown) {
|
|
417
|
-
throw new ServerDbShuttingDownError(
|
|
418
|
-
"Server DB is shutting down (blue-green phase 2 drain); cannot reopen LevelDB"
|
|
419
|
-
);
|
|
420
|
-
}
|
|
421
|
-
const timeoutMs = options?.timeoutMs ?? resolveServerDbOpenLockTimeoutMs();
|
|
422
|
-
const intervalMs = options?.intervalMs ?? DEFAULT_SERVER_DB_OPEN_LOCK_INTERVAL_MS;
|
|
423
|
-
const sleep = options?.sleep ?? defaultSleep;
|
|
424
|
-
const now = options?.now ?? Date.now;
|
|
425
|
-
const deadline = now() + timeoutMs;
|
|
426
|
-
let lastLockWarnAt = Number.NEGATIVE_INFINITY;
|
|
427
|
-
for (let attempt = 1; ; attempt += 1) {
|
|
428
|
-
if (serverDbShuttingDown) {
|
|
429
|
-
throw new ServerDbShuttingDownError(
|
|
430
|
-
"Server DB shutdown signaled during lock retry; aborting reopen"
|
|
431
|
-
);
|
|
432
|
-
}
|
|
433
|
-
try {
|
|
434
|
-
await ensureDbOpen(authorityStore);
|
|
435
|
-
if (status !== "opening" && !options?.quiet) {
|
|
436
|
-
console.log("\u2705 LevelDB \u5DF2\u6253\u5F00");
|
|
437
|
-
}
|
|
438
|
-
return;
|
|
439
|
-
} catch (err) {
|
|
440
|
-
if (!isServerDbLockError(err)) {
|
|
441
|
-
if (!options?.quiet) console.error("\u274C \u6253\u5F00 LevelDB \u5931\u8D25:", err);
|
|
442
|
-
throw err;
|
|
443
|
-
}
|
|
444
|
-
const remainingMs = deadline - now();
|
|
445
|
-
if (remainingMs <= 0) {
|
|
446
|
-
if (!options?.quiet) {
|
|
447
|
-
console.error(
|
|
448
|
-
`\u274C \u6253\u5F00 LevelDB \u5931\u8D25: \u9501\u88AB\u5176\u4ED6\u8FDB\u7A0B\u6301\u6709\uFF0C\u5DF2\u91CD\u8BD5 ${attempt} \u6B21 / ${timeoutMs}ms\u3002 \u901A\u5E38\u662F\u4E0A\u4E00\u4E2A server \u8FDB\u7A0B\u672A\u5B8C\u5168\u9000\u51FA\uFF08\u6CE8\u610F\u7236\u5B50\u8FDB\u7A0B\u6811\uFF09\uFF0C \u6392\u67E5\uFF1Afuser -v ${authorityStore.location ?? "<dbPath>"}/LOCK`
|
|
449
|
-
);
|
|
450
|
-
}
|
|
451
|
-
throw err;
|
|
452
|
-
}
|
|
453
|
-
if (!options?.quiet && now() - lastLockWarnAt >= 1e3) {
|
|
454
|
-
lastLockWarnAt = now();
|
|
455
|
-
console.warn(
|
|
456
|
-
`\u26A0\uFE0F LevelDB \u88AB\u5176\u4ED6\u8FDB\u7A0B\u5360\u7528\uFF08\u5DF2\u5C1D\u8BD5 ${attempt} \u6B21\uFF0C\u8DDD\u8D85\u65F6\u7EA6 ${Math.max(1, Math.ceil(remainingMs / 1e3))}s\uFF09\uFF0C${intervalMs}ms \u540E\u7EE7\u7EED`
|
|
457
|
-
);
|
|
458
|
-
}
|
|
459
|
-
await sleep(intervalMs);
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
async function openServerDb() {
|
|
464
|
-
return ensureServerDbOpen();
|
|
465
|
-
}
|
|
466
|
-
async function closeServerDb() {
|
|
467
|
-
markServerDbShuttingDown();
|
|
468
|
-
for (let i = 0; i < 50; i++) {
|
|
469
|
-
const s = authorityStore.status;
|
|
470
|
-
if (s !== "opening") break;
|
|
471
|
-
await defaultSleep(100);
|
|
472
|
-
}
|
|
473
|
-
const status = authorityStore.status;
|
|
474
|
-
if (status !== "open") return;
|
|
475
|
-
try {
|
|
476
|
-
await authorityStore.close();
|
|
477
|
-
console.log("\u2705 LevelDB \u5DF2\u5173\u95ED");
|
|
478
|
-
} catch (err) {
|
|
479
|
-
console.error("\u274C \u5173\u95ED LevelDB \u5931\u8D25:", err);
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
339
|
export {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
isServerDbLockError,
|
|
490
|
-
markServerDbShuttingDown,
|
|
491
|
-
openServerDb,
|
|
492
|
-
serverDb
|
|
340
|
+
safeJsonEncoding,
|
|
341
|
+
ensureServerDbDirectory,
|
|
342
|
+
createLevelBackedAuthorityStore,
|
|
343
|
+
resolveServerStoreDriver,
|
|
344
|
+
createAuthorityStoreForDriver,
|
|
345
|
+
getOrCreateServerStoreRuntime
|
|
493
346
|
};
|