nolo-cli 0.104.0-alpha.1 → 0.105.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{agentDeleteCommand-2YAHAZFJ.js → agentDeleteCommand-YB3S2LPY.js} +1 -1
- package/{agentEmailCommands-O2KH4G7U.js → agentEmailCommands-AQZVMNLR.js} +3 -3
- package/{agentListCommands-GUDMBDHZ.js → agentListCommands-3GWH4E4G.js} +1 -1
- package/{agentMachineCommands-5I5CCUBM.js → agentMachineCommands-R5AVYYN3.js} +2 -2
- package/{agentRecordCommands-RSS44XHC.js → agentRecordCommands-JY4IWSSQ.js} +3 -3
- package/{agentRunCommand-P7VHL4ZR.js → agentRunCommand-7VTYZY3Q.js} +3 -3
- package/{agentRuntimeLocal-VXZSDIGT.js → agentRuntimeLocal-FRUE5P2V.js} +5 -1
- package/{appDeleteCommands-32MHLR4L.js → appDeleteCommands-JPWTSFID.js} +1 -1
- package/{appDeployCommands-WCQOUSOB.js → appDeployCommands-YCVY2UYO.js} +1 -1
- package/{appDeployStatusCommands-6QKB7DYN.js → appDeployStatusCommands-JMCEIKTI.js} +1 -1
- package/{appGetCommands-SFAPP5PB.js → appGetCommands-EXWT3QAE.js} +1 -1
- package/{appListCommands-EKUBDRUO.js → appListCommands-PKRLSWRE.js} +1 -1
- package/{chunk-6VFARHZW.js → chunk-LC43IGO4.js} +291 -130
- package/{chunk-4J4QNKTW.js → chunk-O7EBSHZR.js} +3 -3
- package/{chunk-ITBLTYQB.js → chunk-RJ4QOQDA.js} +9 -1
- package/{chunk-7SOWRCQQ.js → chunk-S6JLBH6Z.js} +1 -1
- package/{chunk-B6P4QKEN.js → chunk-VLI5LVL5.js} +2 -2
- package/{dialogCommands-5J56DFWN.js → dialogCommands-YVMHDEOX.js} +1 -1
- package/{docCreateCommands-KYI2DC2U.js → docCreateCommands-7UTWDYJU.js} +1 -1
- package/{docDeleteCommands-67REUSRY.js → docDeleteCommands-GG6BJ4PS.js} +1 -1
- package/{docReadCommands-HOSVSBDJ.js → docReadCommands-QHMQVSLP.js} +1 -1
- package/{docUpdateCommands-EMGCSMXY.js → docUpdateCommands-QPL6IVUK.js} +1 -1
- package/index.js +41 -41
- package/{machineCommands-G5J754EH.js → machineCommands-7DEUPY32.js} +3 -3
- package/{machineWsRunDispatch-VXYBYYKM.js → machineWsRunDispatch-D2NHL3P7.js} +3 -3
- package/package.json +1 -1
- package/{readlineWorkspace-TGCYJFEB.js → readlineWorkspace-JP2AOALW.js} +3 -3
- package/{spaceCommands-NKJVJCQQ.js → spaceCommands-BMXKR7H6.js} +1 -1
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
} from "./chunk-V7E4PXQD.js";
|
|
9
9
|
import {
|
|
10
10
|
runAgentCreateCommand
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-S6JLBH6Z.js";
|
|
12
|
+
import "./chunk-RJ4QOQDA.js";
|
|
13
13
|
import "./chunk-53HEEOTT.js";
|
|
14
14
|
import "./chunk-EADNWBAZ.js";
|
|
15
15
|
import "./chunk-SH43IESU.js";
|
|
@@ -71,7 +71,7 @@ import "./chunk-JRQFUXY7.js";
|
|
|
71
71
|
import "./chunk-DHDMC6FO.js";
|
|
72
72
|
import "./chunk-Q554LLSI.js";
|
|
73
73
|
import "./chunk-KHCLMKZZ.js";
|
|
74
|
-
import "./chunk-
|
|
74
|
+
import "./chunk-LC43IGO4.js";
|
|
75
75
|
import "./chunk-ZCYXJSTU.js";
|
|
76
76
|
import "./chunk-Q5FJJ6XI.js";
|
|
77
77
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
} from "./chunk-PQFHGD77.js";
|
|
41
41
|
import "./chunk-KQHGZWSV.js";
|
|
42
42
|
import "./chunk-YYLHWIW6.js";
|
|
43
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-LC43IGO4.js";
|
|
44
44
|
import "./chunk-ZCYXJSTU.js";
|
|
45
45
|
import "./chunk-Q5FJJ6XI.js";
|
|
46
46
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "./chunk-SV5IJK6K.js";
|
|
16
16
|
import "./chunk-NF64D32W.js";
|
|
17
17
|
import "./chunk-3L2WKC3W.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-LC43IGO4.js";
|
|
19
19
|
import "./chunk-ZCYXJSTU.js";
|
|
20
20
|
import "./chunk-Q5FJJ6XI.js";
|
|
21
21
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -91,7 +91,7 @@ async function defaultExecuteCli(provider, prompt, options) {
|
|
|
91
91
|
return executeCli(provider, prompt, options);
|
|
92
92
|
}
|
|
93
93
|
async function forwardConnectorRunMessage(machine, message, pushMessage, executeCli, env, fetchImpl) {
|
|
94
|
-
const { handleConnectorRunMessage } = await import("./machineWsRunDispatch-
|
|
94
|
+
const { handleConnectorRunMessage } = await import("./machineWsRunDispatch-D2NHL3P7.js");
|
|
95
95
|
return handleConnectorRunMessage(message, pushMessage, executeCli, env, fetchImpl);
|
|
96
96
|
}
|
|
97
97
|
async function detectLaunchableMachineInfo() {
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
runAgentCreateCommand,
|
|
3
3
|
runAgentReadCommand,
|
|
4
4
|
runAgentUpdateCommand
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-S6JLBH6Z.js";
|
|
6
|
+
import "./chunk-RJ4QOQDA.js";
|
|
7
7
|
import "./chunk-53HEEOTT.js";
|
|
8
8
|
import "./chunk-EADNWBAZ.js";
|
|
9
9
|
import "./chunk-SH43IESU.js";
|
|
@@ -58,7 +58,7 @@ import "./chunk-JRQFUXY7.js";
|
|
|
58
58
|
import "./chunk-DHDMC6FO.js";
|
|
59
59
|
import "./chunk-Q554LLSI.js";
|
|
60
60
|
import "./chunk-KHCLMKZZ.js";
|
|
61
|
-
import "./chunk-
|
|
61
|
+
import "./chunk-LC43IGO4.js";
|
|
62
62
|
import "./chunk-ZCYXJSTU.js";
|
|
63
63
|
import "./chunk-Q5FJJ6XI.js";
|
|
64
64
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -8,12 +8,12 @@ import {
|
|
|
8
8
|
resolveRunSettlementNote,
|
|
9
9
|
resolveWorkflowReference,
|
|
10
10
|
runAgentRunCommand
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-O7EBSHZR.js";
|
|
12
12
|
import "./chunk-S7Z2HMCN.js";
|
|
13
13
|
import {
|
|
14
14
|
parseAgentRunArgs
|
|
15
15
|
} from "./chunk-V7E4PXQD.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-RJ4QOQDA.js";
|
|
17
17
|
import "./chunk-53HEEOTT.js";
|
|
18
18
|
import "./chunk-EADNWBAZ.js";
|
|
19
19
|
import "./chunk-SH43IESU.js";
|
|
@@ -74,7 +74,7 @@ import "./chunk-JRQFUXY7.js";
|
|
|
74
74
|
import "./chunk-DHDMC6FO.js";
|
|
75
75
|
import "./chunk-Q554LLSI.js";
|
|
76
76
|
import "./chunk-KHCLMKZZ.js";
|
|
77
|
-
import "./chunk-
|
|
77
|
+
import "./chunk-LC43IGO4.js";
|
|
78
78
|
import "./chunk-ZCYXJSTU.js";
|
|
79
79
|
import "./chunk-Q5FJJ6XI.js";
|
|
80
80
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -5,12 +5,14 @@ import {
|
|
|
5
5
|
buildLocalWorkspacePolicyToolNames,
|
|
6
6
|
buildLocalWorkspaceToolset,
|
|
7
7
|
buildOpenAiCompatibleChatCompletionRequest,
|
|
8
|
+
buildToolParametersIndex,
|
|
8
9
|
createHybridRecordStore,
|
|
9
10
|
createLocalWorkspaceToolExecutors,
|
|
10
11
|
dialogMessageRecordToAgentRuntimeMessage,
|
|
11
12
|
evaluateShellCommandPolicy,
|
|
12
13
|
executeLocalToolWithPolicy,
|
|
13
14
|
executeOpenAiCompatibleChatCompletion,
|
|
15
|
+
getAgentRuntimeToolParametersIndex,
|
|
14
16
|
isDestructiveShellCommand,
|
|
15
17
|
parseOpenAiCompatibleChatCompletionResponse,
|
|
16
18
|
parseSyncServersEnv,
|
|
@@ -19,7 +21,7 @@ import {
|
|
|
19
21
|
resolveOpenAiCompatibleProviderConfig,
|
|
20
22
|
runLocalAgentTurn,
|
|
21
23
|
shouldCacheHybridRemoteRecord
|
|
22
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-LC43IGO4.js";
|
|
23
25
|
import {
|
|
24
26
|
buildPlatformChatCompletionRequest,
|
|
25
27
|
canUsePlatformChatProvider,
|
|
@@ -105,6 +107,7 @@ export {
|
|
|
105
107
|
buildLocalWorkspaceToolset,
|
|
106
108
|
buildOpenAiCompatibleChatCompletionRequest,
|
|
107
109
|
buildPlatformChatCompletionRequest,
|
|
110
|
+
buildToolParametersIndex,
|
|
108
111
|
canUsePlatformChatProvider,
|
|
109
112
|
createHybridRecordStore,
|
|
110
113
|
createLocalWorkspaceToolExecutors,
|
|
@@ -112,6 +115,7 @@ export {
|
|
|
112
115
|
evaluateShellCommandPolicy,
|
|
113
116
|
executeLocalToolWithPolicy,
|
|
114
117
|
executeOpenAiCompatibleChatCompletion,
|
|
118
|
+
getAgentRuntimeToolParametersIndex,
|
|
115
119
|
hasDirectOpenAiCompatibleProvider,
|
|
116
120
|
isDestructiveShellCommand,
|
|
117
121
|
parseOpenAiCompatibleChatCompletionResponse,
|
|
@@ -13,7 +13,7 @@ import "./chunk-AEOE4Z6Q.js";
|
|
|
13
13
|
import "./chunk-Z77CRGTW.js";
|
|
14
14
|
import "./chunk-SV5IJK6K.js";
|
|
15
15
|
import "./chunk-VF4K2QE6.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-LC43IGO4.js";
|
|
17
17
|
import "./chunk-ZCYXJSTU.js";
|
|
18
18
|
import "./chunk-Q5FJJ6XI.js";
|
|
19
19
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -14,7 +14,7 @@ import "./chunk-AEOE4Z6Q.js";
|
|
|
14
14
|
import "./chunk-Z77CRGTW.js";
|
|
15
15
|
import "./chunk-SV5IJK6K.js";
|
|
16
16
|
import "./chunk-VF4K2QE6.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-LC43IGO4.js";
|
|
18
18
|
import "./chunk-ZCYXJSTU.js";
|
|
19
19
|
import "./chunk-Q5FJJ6XI.js";
|
|
20
20
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -13,7 +13,7 @@ import "./chunk-AEOE4Z6Q.js";
|
|
|
13
13
|
import "./chunk-Z77CRGTW.js";
|
|
14
14
|
import "./chunk-SV5IJK6K.js";
|
|
15
15
|
import "./chunk-VF4K2QE6.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-LC43IGO4.js";
|
|
17
17
|
import "./chunk-ZCYXJSTU.js";
|
|
18
18
|
import "./chunk-Q5FJJ6XI.js";
|
|
19
19
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -14,7 +14,7 @@ import "./chunk-AEOE4Z6Q.js";
|
|
|
14
14
|
import "./chunk-Z77CRGTW.js";
|
|
15
15
|
import "./chunk-SV5IJK6K.js";
|
|
16
16
|
import "./chunk-VF4K2QE6.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-LC43IGO4.js";
|
|
18
18
|
import "./chunk-ZCYXJSTU.js";
|
|
19
19
|
import "./chunk-Q5FJJ6XI.js";
|
|
20
20
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -14,7 +14,7 @@ import "./chunk-AEOE4Z6Q.js";
|
|
|
14
14
|
import "./chunk-Z77CRGTW.js";
|
|
15
15
|
import "./chunk-SV5IJK6K.js";
|
|
16
16
|
import "./chunk-VF4K2QE6.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-LC43IGO4.js";
|
|
18
18
|
import "./chunk-ZCYXJSTU.js";
|
|
19
19
|
import "./chunk-Q5FJJ6XI.js";
|
|
20
20
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -64,6 +64,7 @@ import {
|
|
|
64
64
|
applyToolSurfaceConstraints,
|
|
65
65
|
buildDialogReadEnvelope,
|
|
66
66
|
buildNoloWorkspaceCommandArgs,
|
|
67
|
+
buildNoloWorkspaceOpenAiTools,
|
|
67
68
|
createStreamingDialogReadProjector,
|
|
68
69
|
noloPositiveIntegerString,
|
|
69
70
|
noloStringArg,
|
|
@@ -15652,132 +15653,6 @@ async function evaluateCapabilityPolicy(capability, normalizedInput, ctx) {
|
|
|
15652
15653
|
}
|
|
15653
15654
|
}
|
|
15654
15655
|
|
|
15655
|
-
// packages/agent-runtime/localToolPolicy.ts
|
|
15656
|
-
var NEVER_LOCAL_TOOLS = /* @__PURE__ */ new Set([
|
|
15657
|
-
"deleteSpaces",
|
|
15658
|
-
"updateAgent",
|
|
15659
|
-
"updateSelf",
|
|
15660
|
-
"createAgent"
|
|
15661
|
-
]);
|
|
15662
|
-
var DEFAULT_LOCAL_TOOLS = /* @__PURE__ */ new Set([
|
|
15663
|
-
"readFile",
|
|
15664
|
-
"writeFile",
|
|
15665
|
-
"editFile",
|
|
15666
|
-
"globFiles",
|
|
15667
|
-
"execShell",
|
|
15668
|
-
"launchProcess",
|
|
15669
|
-
"listProcesses",
|
|
15670
|
-
// ProcessTask follow-up tools. Same tier as listProcesses: they observe/stop
|
|
15671
|
-
// tasks the agent itself already spawned, so their blast radius is strictly
|
|
15672
|
-
// narrower than launchProcess (which is default-enabled). Model-facing
|
|
15673
|
-
// follow-ups are taskWait/taskStop only — lifecycle history (taskLogs) stays
|
|
15674
|
-
// runtime-internal.
|
|
15675
|
-
"taskWait",
|
|
15676
|
-
"taskStop",
|
|
15677
|
-
// Scheduling tools: forking/observing sub-agents is a declared capability
|
|
15678
|
-
// of capable agents, and the blast radius is strictly narrower than
|
|
15679
|
-
// execShell (already default-enabled). Requiring an env allowlist for these
|
|
15680
|
-
// while execShell is open by default inverted the risk model and forced every
|
|
15681
|
-
// new local user to hand-edit .env files before sub-agent tasks worked.
|
|
15682
|
-
"startAgentRun",
|
|
15683
|
-
"controlAgentRun"
|
|
15684
|
-
]);
|
|
15685
|
-
function parseToolAllowlist(value) {
|
|
15686
|
-
return (value ?? "").split(",").flatMap((item) => {
|
|
15687
|
-
const trimmed = item.trim();
|
|
15688
|
-
return trimmed ? [trimmed] : [];
|
|
15689
|
-
});
|
|
15690
|
-
}
|
|
15691
|
-
function normalizeLocalToolName(toolName) {
|
|
15692
|
-
return canonicalizeToolName(
|
|
15693
|
-
String(toolName ?? "").replace(/^functions\./, "").trim()
|
|
15694
|
-
);
|
|
15695
|
-
}
|
|
15696
|
-
function isRestrictedLocalToolMode(env) {
|
|
15697
|
-
return env.NOLO_LOCAL_TOOL_MODE === "restricted";
|
|
15698
|
-
}
|
|
15699
|
-
function resolveLocalToolPolicy(args2) {
|
|
15700
|
-
const toolName = normalizeLocalToolName(args2.toolName);
|
|
15701
|
-
const restrictedMode = isRestrictedLocalToolMode(args2.env);
|
|
15702
|
-
if (!toolName) {
|
|
15703
|
-
return {
|
|
15704
|
-
allowed: false,
|
|
15705
|
-
toolName,
|
|
15706
|
-
reason: "Tool name is required."
|
|
15707
|
-
};
|
|
15708
|
-
}
|
|
15709
|
-
if (NEVER_LOCAL_TOOLS.has(toolName)) {
|
|
15710
|
-
return {
|
|
15711
|
-
allowed: false,
|
|
15712
|
-
toolName,
|
|
15713
|
-
reason: `${toolName} is blocked by the local runtime safety policy.`
|
|
15714
|
-
};
|
|
15715
|
-
}
|
|
15716
|
-
const allowedByEnv = new Set(parseToolAllowlist(args2.env.NOLO_LOCAL_ALLOWED_TOOLS));
|
|
15717
|
-
const agentTools = new Set(
|
|
15718
|
-
(args2.agentToolNames ?? []).flatMap((item) => {
|
|
15719
|
-
const normalized = normalizeLocalToolName(item);
|
|
15720
|
-
return normalized ? [normalized] : [];
|
|
15721
|
-
})
|
|
15722
|
-
);
|
|
15723
|
-
if (!restrictedMode && agentTools.has(toolName)) {
|
|
15724
|
-
return { allowed: true, toolName };
|
|
15725
|
-
}
|
|
15726
|
-
if (DEFAULT_LOCAL_TOOLS.has(toolName) && agentTools.has(toolName)) {
|
|
15727
|
-
return { allowed: true, toolName };
|
|
15728
|
-
}
|
|
15729
|
-
if (allowedByEnv.has(toolName) && agentTools.has(toolName)) {
|
|
15730
|
-
return { allowed: true, toolName };
|
|
15731
|
-
}
|
|
15732
|
-
return {
|
|
15733
|
-
allowed: false,
|
|
15734
|
-
toolName,
|
|
15735
|
-
reason: `${toolName} is not enabled for local runtime runs. The agent must declare the tool in its manifest; in restricted mode (NOLO_LOCAL_TOOL_MODE=restricted) non-default tools also require adding to NOLO_LOCAL_ALLOWED_TOOLS (e.g. NOLO_LOCAL_ALLOWED_TOOLS=someCustomTool) and restarting the session so the env var loads.`
|
|
15736
|
-
};
|
|
15737
|
-
}
|
|
15738
|
-
async function executeLocalToolWithPolicy(args2) {
|
|
15739
|
-
if (args2.runToolNames !== void 0 && !args2.runToolNames.includes(normalizeLocalToolName(args2.call.name))) {
|
|
15740
|
-
throw new Error(`${args2.call.name} is outside the final run tool surface.`);
|
|
15741
|
-
}
|
|
15742
|
-
const decision = resolveLocalToolPolicy({
|
|
15743
|
-
env: args2.env,
|
|
15744
|
-
agentToolNames: args2.agentToolNames,
|
|
15745
|
-
toolName: args2.call.name
|
|
15746
|
-
});
|
|
15747
|
-
if (!decision.allowed) throw new Error(decision.reason);
|
|
15748
|
-
const executor = args2.executors?.[decision.toolName];
|
|
15749
|
-
if (!executor) {
|
|
15750
|
-
throw new Error(`${decision.toolName} is allowed by policy but no local executor is registered.`);
|
|
15751
|
-
}
|
|
15752
|
-
const opts = {
|
|
15753
|
-
...args2.abortSignal ? { abortSignal: args2.abortSignal } : {},
|
|
15754
|
-
...args2.detachMs !== void 0 ? { detachMs: args2.detachMs } : {},
|
|
15755
|
-
...args2.confirmed !== void 0 ? { confirmed: args2.confirmed } : {},
|
|
15756
|
-
...args2.enableDestructiveShellGuard !== void 0 ? { enableDestructiveShellGuard: args2.enableDestructiveShellGuard } : {},
|
|
15757
|
-
...args2.confirmDestructiveAction ? { confirmDestructiveAction: args2.confirmDestructiveAction } : {},
|
|
15758
|
-
...args2.blockDestructiveWithoutConfirmation !== void 0 ? { blockDestructiveWithoutConfirmation: args2.blockDestructiveWithoutConfirmation } : {}
|
|
15759
|
-
};
|
|
15760
|
-
if (decision.toolName === "execShell") {
|
|
15761
|
-
let parsedInput = args2.call.arguments;
|
|
15762
|
-
if (typeof parsedInput === "string") {
|
|
15763
|
-
try {
|
|
15764
|
-
parsedInput = JSON.parse(parsedInput);
|
|
15765
|
-
} catch {
|
|
15766
|
-
parsedInput = { command: parsedInput };
|
|
15767
|
-
}
|
|
15768
|
-
}
|
|
15769
|
-
await evaluateExecShellDestructiveGuard(parsedInput, opts);
|
|
15770
|
-
opts.confirmed = true;
|
|
15771
|
-
}
|
|
15772
|
-
return executor(
|
|
15773
|
-
{
|
|
15774
|
-
...args2.call,
|
|
15775
|
-
name: decision.toolName
|
|
15776
|
-
},
|
|
15777
|
-
opts
|
|
15778
|
-
);
|
|
15779
|
-
}
|
|
15780
|
-
|
|
15781
15656
|
// packages/agent-runtime/localWorkspaceTools.ts
|
|
15782
15657
|
import { existsSync as existsSync3 } from "node:fs";
|
|
15783
15658
|
import { createHash as createHash3 } from "node:crypto";
|
|
@@ -19312,6 +19187,290 @@ function createLocalWorkspaceToolExecutors(args2) {
|
|
|
19312
19187
|
};
|
|
19313
19188
|
}
|
|
19314
19189
|
|
|
19190
|
+
// packages/agent-runtime/toolArgumentGate.ts
|
|
19191
|
+
var FIELD_ALIAS_GROUPS = [
|
|
19192
|
+
// localWorkspaceTools.ts:336 导出常量(readFile/writeFile/editFile/globFiles)
|
|
19193
|
+
PATH_FIELD_ALIASES,
|
|
19194
|
+
// localWorkspaceTools.ts:339-340 导出常量(editFile)
|
|
19195
|
+
OLD_TEXT_FIELD_ALIASES,
|
|
19196
|
+
NEW_TEXT_FIELD_ALIASES,
|
|
19197
|
+
// localWorkspaceTools.ts:733 `args.cmd || args.command`(launchProcess);
|
|
19198
|
+
// launchProcess 的 required ["command"] 见 localWorkspaceToolDefs.ts:283。
|
|
19199
|
+
// 注:execShell 的 schema 无 required(command 在 executor 层强制,
|
|
19200
|
+
// capabilities/execShellCapability.ts:42 声明 cmd 兼容字段),本组对它不产生拦截。
|
|
19201
|
+
["command", "cmd"],
|
|
19202
|
+
// localWorkspaceTools.ts:698-699 `args.pattern ?? args.glob`(globFiles)
|
|
19203
|
+
["pattern", "glob"],
|
|
19204
|
+
// noloWorkspaceTools.ts:492 `args.dialog ?? args.dialogId ?? args.id`(readDialog)
|
|
19205
|
+
["dialog", "dialogId", "id"],
|
|
19206
|
+
// noloWorkspaceTools.ts:545 `args.agent ?? args.agentKey ?? args.id`(readAgent)
|
|
19207
|
+
["agent", "agentKey", "id"],
|
|
19208
|
+
// noloWorkspaceTools.ts:552 `args.space ?? args.spaceId ?? args.id`(readSpace)
|
|
19209
|
+
["space", "spaceId", "id"],
|
|
19210
|
+
// noloWorkspaceTools.ts:561/567 `args.doc ?? args.docKey ?? args.pageKey ?? args.key`
|
|
19211
|
+
// (readDoc / readSkillDoc)
|
|
19212
|
+
["doc", "docKey", "pageKey", "key"],
|
|
19213
|
+
// noloWorkspaceTools.node.ts:238 `parsed.name ?? parsed.skillName ?? parsed.skill`(loadSkill)
|
|
19214
|
+
["name", "skillName", "skill"],
|
|
19215
|
+
// noloWorkspaceTools.ts:593 `args.table ?? args.tableId ?? args.metaKey`(queryTableRows)
|
|
19216
|
+
["table", "tableId", "metaKey"]
|
|
19217
|
+
];
|
|
19218
|
+
var TYPE_MATCHERS = {
|
|
19219
|
+
string: (value) => typeof value === "string",
|
|
19220
|
+
// 数字字符串视为可接受:executor 普遍 Number()/clamp 宽松处理,拦截会误报。
|
|
19221
|
+
number: (value) => typeof value === "number" || typeof value === "string" && value.trim() !== "" && Number.isFinite(Number(value)),
|
|
19222
|
+
integer: (value) => typeof value === "number" || typeof value === "string" && value.trim() !== "" && Number.isFinite(Number(value)),
|
|
19223
|
+
boolean: (value) => typeof value === "boolean" || value === "true" || value === "false",
|
|
19224
|
+
object: (value) => typeof value === "object" && value !== null && !Array.isArray(value),
|
|
19225
|
+
array: (value) => Array.isArray(value)
|
|
19226
|
+
};
|
|
19227
|
+
function describeValueType(value) {
|
|
19228
|
+
if (value === null) return "null";
|
|
19229
|
+
if (Array.isArray(value)) return "array";
|
|
19230
|
+
return typeof value;
|
|
19231
|
+
}
|
|
19232
|
+
function isAliasSatisfied(args2, field) {
|
|
19233
|
+
for (const group of FIELD_ALIAS_GROUPS) {
|
|
19234
|
+
if (!group.includes(field)) continue;
|
|
19235
|
+
if (group.some((alias) => args2[alias] !== void 0)) return true;
|
|
19236
|
+
}
|
|
19237
|
+
return false;
|
|
19238
|
+
}
|
|
19239
|
+
function readRequiredFields(parameters) {
|
|
19240
|
+
const required = parameters.required;
|
|
19241
|
+
if (!Array.isArray(required)) return [];
|
|
19242
|
+
return required.filter((field) => typeof field === "string");
|
|
19243
|
+
}
|
|
19244
|
+
function readProperties(parameters) {
|
|
19245
|
+
const properties = parameters.properties;
|
|
19246
|
+
if (!properties || typeof properties !== "object" || Array.isArray(properties)) {
|
|
19247
|
+
return {};
|
|
19248
|
+
}
|
|
19249
|
+
return properties;
|
|
19250
|
+
}
|
|
19251
|
+
function validateToolArguments(args2) {
|
|
19252
|
+
const { toolName, rawArguments, parameters } = args2;
|
|
19253
|
+
if (!parameters || typeof parameters !== "object" || Array.isArray(parameters)) {
|
|
19254
|
+
return { ok: true, args: {} };
|
|
19255
|
+
}
|
|
19256
|
+
const schema = parameters;
|
|
19257
|
+
const requiredFields = readRequiredFields(schema);
|
|
19258
|
+
const properties = readProperties(schema);
|
|
19259
|
+
if (requiredFields.length === 0 && Object.keys(properties).length === 0) {
|
|
19260
|
+
return { ok: true, args: {} };
|
|
19261
|
+
}
|
|
19262
|
+
const raw = typeof rawArguments === "string" ? rawArguments.trim() : "";
|
|
19263
|
+
let record = {};
|
|
19264
|
+
if (raw !== "") {
|
|
19265
|
+
let parsed;
|
|
19266
|
+
try {
|
|
19267
|
+
parsed = JSON.parse(raw);
|
|
19268
|
+
} catch {
|
|
19269
|
+
return { ok: true, args: {} };
|
|
19270
|
+
}
|
|
19271
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
19272
|
+
return { ok: true, args: {} };
|
|
19273
|
+
}
|
|
19274
|
+
record = parsed;
|
|
19275
|
+
}
|
|
19276
|
+
for (const field of requiredFields) {
|
|
19277
|
+
if (record[field] !== void 0) continue;
|
|
19278
|
+
if (isAliasSatisfied(record, field)) continue;
|
|
19279
|
+
return {
|
|
19280
|
+
ok: false,
|
|
19281
|
+
message: `${toolName} \u53C2\u6570\u6821\u9A8C\u5931\u8D25\uFF1A\u7F3A\u5C11\u5FC5\u586B\u53C2\u6570 "${field}"\u3002\u8BF7\u8865\u4E0A\u540E\u91CD\u65B0\u8C03\u7528 ${toolName}\u3002`
|
|
19282
|
+
};
|
|
19283
|
+
}
|
|
19284
|
+
for (const [field, spec] of Object.entries(properties)) {
|
|
19285
|
+
const value = record[field];
|
|
19286
|
+
if (value === void 0 || value === null) continue;
|
|
19287
|
+
if (!spec || typeof spec !== "object" || Array.isArray(spec)) continue;
|
|
19288
|
+
const declared = spec.type;
|
|
19289
|
+
if (typeof declared !== "string") continue;
|
|
19290
|
+
const matcher = TYPE_MATCHERS[declared];
|
|
19291
|
+
if (!matcher) continue;
|
|
19292
|
+
if (!matcher(value)) {
|
|
19293
|
+
return {
|
|
19294
|
+
ok: false,
|
|
19295
|
+
message: `${toolName} \u53C2\u6570\u6821\u9A8C\u5931\u8D25\uFF1A\u53C2\u6570 "${field}" \u5E94\u4E3A ${declared}\uFF0C\u5B9E\u9645\u6536\u5230 ${describeValueType(value)}\u3002\u8BF7\u4FEE\u6B63\u540E\u91CD\u65B0\u8C03\u7528 ${toolName}\u3002`
|
|
19296
|
+
};
|
|
19297
|
+
}
|
|
19298
|
+
}
|
|
19299
|
+
return { ok: true, args: record };
|
|
19300
|
+
}
|
|
19301
|
+
function buildToolParametersIndex(tools) {
|
|
19302
|
+
const index = /* @__PURE__ */ new Map();
|
|
19303
|
+
for (const tool of tools) {
|
|
19304
|
+
if (!tool || typeof tool !== "object") continue;
|
|
19305
|
+
const fn3 = tool.function;
|
|
19306
|
+
if (!fn3 || typeof fn3 !== "object") continue;
|
|
19307
|
+
const name = fn3.name;
|
|
19308
|
+
const parameters = fn3.parameters;
|
|
19309
|
+
if (typeof name === "string" && name && parameters !== void 0) {
|
|
19310
|
+
index.set(name, parameters);
|
|
19311
|
+
}
|
|
19312
|
+
}
|
|
19313
|
+
return index;
|
|
19314
|
+
}
|
|
19315
|
+
var cachedAgentRuntimeIndex = null;
|
|
19316
|
+
function getAgentRuntimeToolParametersIndex() {
|
|
19317
|
+
if (cachedAgentRuntimeIndex) return cachedAgentRuntimeIndex;
|
|
19318
|
+
const index = /* @__PURE__ */ new Map();
|
|
19319
|
+
try {
|
|
19320
|
+
const workspaceTools = buildLocalWorkspaceOpenAiTools({
|
|
19321
|
+
toolNames: [...WORKSPACE_TOOL_NAMES],
|
|
19322
|
+
exposeShellTools: true
|
|
19323
|
+
});
|
|
19324
|
+
for (const [name, parameters] of buildToolParametersIndex(workspaceTools)) {
|
|
19325
|
+
index.set(name, parameters);
|
|
19326
|
+
}
|
|
19327
|
+
const noloTools = buildNoloWorkspaceOpenAiTools({
|
|
19328
|
+
toolNames: [...NOLO_WORKSPACE_TOOL_NAMES]
|
|
19329
|
+
});
|
|
19330
|
+
for (const [name, parameters] of buildToolParametersIndex(noloTools)) {
|
|
19331
|
+
index.set(name, parameters);
|
|
19332
|
+
}
|
|
19333
|
+
} catch {
|
|
19334
|
+
}
|
|
19335
|
+
cachedAgentRuntimeIndex = index;
|
|
19336
|
+
return index;
|
|
19337
|
+
}
|
|
19338
|
+
|
|
19339
|
+
// packages/agent-runtime/localToolPolicy.ts
|
|
19340
|
+
var NEVER_LOCAL_TOOLS = /* @__PURE__ */ new Set([
|
|
19341
|
+
"deleteSpaces",
|
|
19342
|
+
"updateAgent",
|
|
19343
|
+
"updateSelf",
|
|
19344
|
+
"createAgent"
|
|
19345
|
+
]);
|
|
19346
|
+
var DEFAULT_LOCAL_TOOLS = /* @__PURE__ */ new Set([
|
|
19347
|
+
"readFile",
|
|
19348
|
+
"writeFile",
|
|
19349
|
+
"editFile",
|
|
19350
|
+
"globFiles",
|
|
19351
|
+
"execShell",
|
|
19352
|
+
"launchProcess",
|
|
19353
|
+
"listProcesses",
|
|
19354
|
+
// ProcessTask follow-up tools. Same tier as listProcesses: they observe/stop
|
|
19355
|
+
// tasks the agent itself already spawned, so their blast radius is strictly
|
|
19356
|
+
// narrower than launchProcess (which is default-enabled). Model-facing
|
|
19357
|
+
// follow-ups are taskWait/taskStop only — lifecycle history (taskLogs) stays
|
|
19358
|
+
// runtime-internal.
|
|
19359
|
+
"taskWait",
|
|
19360
|
+
"taskStop",
|
|
19361
|
+
// Scheduling tools: forking/observing sub-agents is a declared capability
|
|
19362
|
+
// of capable agents, and the blast radius is strictly narrower than
|
|
19363
|
+
// execShell (already default-enabled). Requiring an env allowlist for these
|
|
19364
|
+
// while execShell is open by default inverted the risk model and forced every
|
|
19365
|
+
// new local user to hand-edit .env files before sub-agent tasks worked.
|
|
19366
|
+
"startAgentRun",
|
|
19367
|
+
"controlAgentRun"
|
|
19368
|
+
]);
|
|
19369
|
+
function parseToolAllowlist(value) {
|
|
19370
|
+
return (value ?? "").split(",").flatMap((item) => {
|
|
19371
|
+
const trimmed = item.trim();
|
|
19372
|
+
return trimmed ? [trimmed] : [];
|
|
19373
|
+
});
|
|
19374
|
+
}
|
|
19375
|
+
function normalizeLocalToolName(toolName) {
|
|
19376
|
+
return canonicalizeToolName(
|
|
19377
|
+
String(toolName ?? "").replace(/^functions\./, "").trim()
|
|
19378
|
+
);
|
|
19379
|
+
}
|
|
19380
|
+
function isRestrictedLocalToolMode(env) {
|
|
19381
|
+
return env.NOLO_LOCAL_TOOL_MODE === "restricted";
|
|
19382
|
+
}
|
|
19383
|
+
function resolveLocalToolPolicy(args2) {
|
|
19384
|
+
const toolName = normalizeLocalToolName(args2.toolName);
|
|
19385
|
+
const restrictedMode = isRestrictedLocalToolMode(args2.env);
|
|
19386
|
+
if (!toolName) {
|
|
19387
|
+
return {
|
|
19388
|
+
allowed: false,
|
|
19389
|
+
toolName,
|
|
19390
|
+
reason: "Tool name is required."
|
|
19391
|
+
};
|
|
19392
|
+
}
|
|
19393
|
+
if (NEVER_LOCAL_TOOLS.has(toolName)) {
|
|
19394
|
+
return {
|
|
19395
|
+
allowed: false,
|
|
19396
|
+
toolName,
|
|
19397
|
+
reason: `${toolName} is blocked by the local runtime safety policy.`
|
|
19398
|
+
};
|
|
19399
|
+
}
|
|
19400
|
+
const allowedByEnv = new Set(parseToolAllowlist(args2.env.NOLO_LOCAL_ALLOWED_TOOLS));
|
|
19401
|
+
const agentTools = new Set(
|
|
19402
|
+
(args2.agentToolNames ?? []).flatMap((item) => {
|
|
19403
|
+
const normalized = normalizeLocalToolName(item);
|
|
19404
|
+
return normalized ? [normalized] : [];
|
|
19405
|
+
})
|
|
19406
|
+
);
|
|
19407
|
+
if (!restrictedMode && agentTools.has(toolName)) {
|
|
19408
|
+
return { allowed: true, toolName };
|
|
19409
|
+
}
|
|
19410
|
+
if (DEFAULT_LOCAL_TOOLS.has(toolName) && agentTools.has(toolName)) {
|
|
19411
|
+
return { allowed: true, toolName };
|
|
19412
|
+
}
|
|
19413
|
+
if (allowedByEnv.has(toolName) && agentTools.has(toolName)) {
|
|
19414
|
+
return { allowed: true, toolName };
|
|
19415
|
+
}
|
|
19416
|
+
return {
|
|
19417
|
+
allowed: false,
|
|
19418
|
+
toolName,
|
|
19419
|
+
reason: `${toolName} is not enabled for local runtime runs. The agent must declare the tool in its manifest; in restricted mode (NOLO_LOCAL_TOOL_MODE=restricted) non-default tools also require adding to NOLO_LOCAL_ALLOWED_TOOLS (e.g. NOLO_LOCAL_ALLOWED_TOOLS=someCustomTool) and restarting the session so the env var loads.`
|
|
19420
|
+
};
|
|
19421
|
+
}
|
|
19422
|
+
async function executeLocalToolWithPolicy(args2) {
|
|
19423
|
+
if (args2.runToolNames !== void 0 && !args2.runToolNames.includes(normalizeLocalToolName(args2.call.name))) {
|
|
19424
|
+
throw new Error(`${args2.call.name} is outside the final run tool surface.`);
|
|
19425
|
+
}
|
|
19426
|
+
const decision = resolveLocalToolPolicy({
|
|
19427
|
+
env: args2.env,
|
|
19428
|
+
agentToolNames: args2.agentToolNames,
|
|
19429
|
+
toolName: args2.call.name
|
|
19430
|
+
});
|
|
19431
|
+
if (!decision.allowed) throw new Error(decision.reason);
|
|
19432
|
+
const executor = args2.executors?.[decision.toolName];
|
|
19433
|
+
if (!executor) {
|
|
19434
|
+
throw new Error(`${decision.toolName} is allowed by policy but no local executor is registered.`);
|
|
19435
|
+
}
|
|
19436
|
+
const parametersSchema = args2.toolParametersIndex?.get(decision.toolName);
|
|
19437
|
+
if (parametersSchema !== void 0) {
|
|
19438
|
+
const gate = validateToolArguments({
|
|
19439
|
+
toolName: decision.toolName,
|
|
19440
|
+
rawArguments: args2.call.arguments,
|
|
19441
|
+
parameters: parametersSchema
|
|
19442
|
+
});
|
|
19443
|
+
if (!gate.ok) throw new Error(gate.message);
|
|
19444
|
+
}
|
|
19445
|
+
const opts = {
|
|
19446
|
+
...args2.abortSignal ? { abortSignal: args2.abortSignal } : {},
|
|
19447
|
+
...args2.detachMs !== void 0 ? { detachMs: args2.detachMs } : {},
|
|
19448
|
+
...args2.confirmed !== void 0 ? { confirmed: args2.confirmed } : {},
|
|
19449
|
+
...args2.enableDestructiveShellGuard !== void 0 ? { enableDestructiveShellGuard: args2.enableDestructiveShellGuard } : {},
|
|
19450
|
+
...args2.confirmDestructiveAction ? { confirmDestructiveAction: args2.confirmDestructiveAction } : {},
|
|
19451
|
+
...args2.blockDestructiveWithoutConfirmation !== void 0 ? { blockDestructiveWithoutConfirmation: args2.blockDestructiveWithoutConfirmation } : {}
|
|
19452
|
+
};
|
|
19453
|
+
if (decision.toolName === "execShell") {
|
|
19454
|
+
let parsedInput = args2.call.arguments;
|
|
19455
|
+
if (typeof parsedInput === "string") {
|
|
19456
|
+
try {
|
|
19457
|
+
parsedInput = JSON.parse(parsedInput);
|
|
19458
|
+
} catch {
|
|
19459
|
+
parsedInput = { command: parsedInput };
|
|
19460
|
+
}
|
|
19461
|
+
}
|
|
19462
|
+
await evaluateExecShellDestructiveGuard(parsedInput, opts);
|
|
19463
|
+
opts.confirmed = true;
|
|
19464
|
+
}
|
|
19465
|
+
return executor(
|
|
19466
|
+
{
|
|
19467
|
+
...args2.call,
|
|
19468
|
+
name: decision.toolName
|
|
19469
|
+
},
|
|
19470
|
+
opts
|
|
19471
|
+
);
|
|
19472
|
+
}
|
|
19473
|
+
|
|
19315
19474
|
// packages/cli/client/localDialogRecords.ts
|
|
19316
19475
|
var localDialogMessageRecordToRuntimeMessage = dialogMessageRecordToAgentRuntimeMessage;
|
|
19317
19476
|
function buildLocalDialogWritePlan(args2) {
|
|
@@ -20016,7 +20175,7 @@ function buildGeminiGenerateContentRequest(args2) {
|
|
|
20016
20175
|
const toolsResult = convertOpenAiToolsToGemini(args2.tools);
|
|
20017
20176
|
if (toolsResult) {
|
|
20018
20177
|
request3.tools = toolsResult;
|
|
20019
|
-
request3.toolConfig = { functionCallingConfig: { mode: "
|
|
20178
|
+
request3.toolConfig = { functionCallingConfig: { mode: "AUTO" } };
|
|
20020
20179
|
}
|
|
20021
20180
|
const generationConfig = {};
|
|
20022
20181
|
if (typeof args2.maxTokens === "number" && args2.maxTokens > 0) {
|
|
@@ -20065,7 +20224,7 @@ function buildCloudCodeAssistPayload(args2) {
|
|
|
20065
20224
|
);
|
|
20066
20225
|
if (tools) {
|
|
20067
20226
|
request3.tools = tools;
|
|
20068
|
-
request3.toolConfig = { functionCallingConfig: { mode: "
|
|
20227
|
+
request3.toolConfig = { functionCallingConfig: { mode: "AUTO" } };
|
|
20069
20228
|
}
|
|
20070
20229
|
const generationConfig = {};
|
|
20071
20230
|
if (profile?.maxOutputTokens) {
|
|
@@ -20792,8 +20951,6 @@ export {
|
|
|
20792
20951
|
createHybridRecordStore,
|
|
20793
20952
|
isDestructiveShellCommand,
|
|
20794
20953
|
evaluateShellCommandPolicy,
|
|
20795
|
-
resolveLocalToolPolicy,
|
|
20796
|
-
executeLocalToolWithPolicy,
|
|
20797
20954
|
filterRetainedLedgerRecords,
|
|
20798
20955
|
isLineRangeCovered,
|
|
20799
20956
|
getProcessRegistry,
|
|
@@ -20804,6 +20961,10 @@ export {
|
|
|
20804
20961
|
internalSearchWorkspace,
|
|
20805
20962
|
internalListWorkspaceEntries,
|
|
20806
20963
|
createLocalWorkspaceToolExecutors,
|
|
20964
|
+
buildToolParametersIndex,
|
|
20965
|
+
getAgentRuntimeToolParametersIndex,
|
|
20966
|
+
resolveLocalToolPolicy,
|
|
20967
|
+
executeLocalToolWithPolicy,
|
|
20807
20968
|
localDialogMessageRecordToRuntimeMessage,
|
|
20808
20969
|
buildLocalDialogWritePlan,
|
|
20809
20970
|
buildNoloWorkspaceCliToolExecutors,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
resolveLocalUserId,
|
|
28
28
|
t,
|
|
29
29
|
toolLabel
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-RJ4QOQDA.js";
|
|
31
31
|
import {
|
|
32
32
|
createRunActivityTracker,
|
|
33
33
|
popSingleQueueMessage,
|
|
@@ -115,7 +115,7 @@ import {
|
|
|
115
115
|
LOCAL_AGENT_CONFIG_MISSING_CODE,
|
|
116
116
|
LOCAL_TURN_ABORTED_CODE,
|
|
117
117
|
readActionGate
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-LC43IGO4.js";
|
|
119
119
|
import {
|
|
120
120
|
resolveAgentRuntimeConfigFromRecord
|
|
121
121
|
} from "./chunk-5H7KJX7J.js";
|
|
@@ -10459,7 +10459,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
|
|
|
10459
10459
|
// packages/cli/client/agentRun.ts
|
|
10460
10460
|
import { ulid as ulid2 } from "ulid";
|
|
10461
10461
|
async function loadRunLocalAgentTurn() {
|
|
10462
|
-
const { runLocalAgentTurn } = await import("./agentRuntimeLocal-
|
|
10462
|
+
const { runLocalAgentTurn } = await import("./agentRuntimeLocal-FRUE5P2V.js");
|
|
10463
10463
|
return runLocalAgentTurn;
|
|
10464
10464
|
}
|
|
10465
10465
|
var stripDebugNoise = (s) => s.replace(/\s*raw="[\s\S]*"/g, "").replace(/\s*raw=\S+/g, "").replace(/\s*headers=\[[^\]]*\]/g, "").replace(/\s*headers=\S+/g, "").trim();
|
|
@@ -156,6 +156,7 @@ import {
|
|
|
156
156
|
executeOpenAiCompatibleChatCompletion,
|
|
157
157
|
fetchAntigravityCloudCodeCompletion,
|
|
158
158
|
filterRetainedLedgerRecords,
|
|
159
|
+
getAgentRuntimeToolParametersIndex,
|
|
159
160
|
internalListWorkspaceEntries,
|
|
160
161
|
internalSearchWorkspace,
|
|
161
162
|
isGemini3Model,
|
|
@@ -170,7 +171,7 @@ import {
|
|
|
170
171
|
resolveOpenAiCompatibleProviderConfig,
|
|
171
172
|
shouldUseGeminiNativeToolRoute,
|
|
172
173
|
summarizeToolArguments
|
|
173
|
-
} from "./chunk-
|
|
174
|
+
} from "./chunk-LC43IGO4.js";
|
|
174
175
|
import {
|
|
175
176
|
PlatformStreamInterruptedError,
|
|
176
177
|
buildPlatformChatCompletionRequest,
|
|
@@ -9313,6 +9314,8 @@ var resolveCursorTransport = async (ctx) => {
|
|
|
9313
9314
|
agentToolNames: activeAgentToolNames,
|
|
9314
9315
|
call,
|
|
9315
9316
|
executors: localToolExecutors,
|
|
9317
|
+
// 分发前参数闸门:与 host adapter 的 executeTool 同口径。
|
|
9318
|
+
toolParametersIndex: getAgentRuntimeToolParametersIndex(),
|
|
9316
9319
|
detachMs: resolveExecShellDetachMs(deps.env),
|
|
9317
9320
|
...deps.confirmDestructiveAction ? { confirmDestructiveAction: deps.confirmDestructiveAction } : {}
|
|
9318
9321
|
});
|
|
@@ -13448,6 +13451,11 @@ function createCliLocalRuntimeAdapter(deps) {
|
|
|
13448
13451
|
runToolNames: activeAgentToolNames,
|
|
13449
13452
|
call: injectedCall,
|
|
13450
13453
|
executors: localToolExecutors,
|
|
13454
|
+
// 分发前参数闸门:只覆盖 agent-runtime 工具族(workspace + nolo
|
|
13455
|
+
// workspace)。ai/tools registry 的工具不接——它们有各自的前置 policy
|
|
13456
|
+
// guard 与结构化结果契约(例:createTable 的 capture 确认守卫),
|
|
13457
|
+
// 闸门抢先拦截会覆盖这些语义(见 toolArgumentGate.ts 的范围说明)。
|
|
13458
|
+
toolParametersIndex: getAgentRuntimeToolParametersIndex(),
|
|
13451
13459
|
abortSignal: opts?.abortSignal,
|
|
13452
13460
|
detachMs: resolveExecShellDetachMs(deps.env),
|
|
13453
13461
|
...deps.confirmDestructiveAction ? { confirmDestructiveAction: deps.confirmDestructiveAction } : {}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCliLocalRuntimeAdapter,
|
|
3
3
|
summarizeEndpoint
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RJ4QOQDA.js";
|
|
5
5
|
import {
|
|
6
6
|
clipMultilineText
|
|
7
7
|
} from "./chunk-H66KLASO.js";
|
|
8
8
|
import {
|
|
9
9
|
runLocalAgentTurn
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LC43IGO4.js";
|
|
11
11
|
import {
|
|
12
12
|
applyToolSurfaceConstraints
|
|
13
13
|
} from "./chunk-IIVGDG4I.js";
|
|
@@ -24,7 +24,7 @@ import "./chunk-KQHGZWSV.js";
|
|
|
24
24
|
import "./chunk-3BMYXEUW.js";
|
|
25
25
|
import "./chunk-URMS4XY2.js";
|
|
26
26
|
import "./chunk-GLKOYSRU.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-LC43IGO4.js";
|
|
28
28
|
import "./chunk-ZCYXJSTU.js";
|
|
29
29
|
import "./chunk-Q5FJJ6XI.js";
|
|
30
30
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -28,7 +28,7 @@ import "./chunk-SV5IJK6K.js";
|
|
|
28
28
|
import "./chunk-VF4K2QE6.js";
|
|
29
29
|
import "./chunk-Q554LLSI.js";
|
|
30
30
|
import "./chunk-KHCLMKZZ.js";
|
|
31
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-LC43IGO4.js";
|
|
32
32
|
import "./chunk-ZCYXJSTU.js";
|
|
33
33
|
import "./chunk-Q5FJJ6XI.js";
|
|
34
34
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -21,7 +21,7 @@ import "./chunk-KQHGZWSV.js";
|
|
|
21
21
|
import "./chunk-VF4K2QE6.js";
|
|
22
22
|
import "./chunk-Q554LLSI.js";
|
|
23
23
|
import "./chunk-KHCLMKZZ.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-LC43IGO4.js";
|
|
25
25
|
import "./chunk-ZCYXJSTU.js";
|
|
26
26
|
import "./chunk-Q5FJJ6XI.js";
|
|
27
27
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -16,7 +16,7 @@ import "./chunk-SV5IJK6K.js";
|
|
|
16
16
|
import "./chunk-VF4K2QE6.js";
|
|
17
17
|
import "./chunk-Q554LLSI.js";
|
|
18
18
|
import "./chunk-KHCLMKZZ.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-LC43IGO4.js";
|
|
20
20
|
import "./chunk-ZCYXJSTU.js";
|
|
21
21
|
import "./chunk-Q5FJJ6XI.js";
|
|
22
22
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
resolvePageSkillMetadata
|
|
31
31
|
} from "./chunk-Q554LLSI.js";
|
|
32
32
|
import "./chunk-KHCLMKZZ.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-LC43IGO4.js";
|
|
34
34
|
import "./chunk-ZCYXJSTU.js";
|
|
35
35
|
import "./chunk-Q5FJJ6XI.js";
|
|
36
36
|
import "./chunk-ZNFJWEN4.js";
|
package/index.js
CHANGED
|
@@ -127,7 +127,7 @@ function createDaemonShortcutCommand(path, description, command2) {
|
|
|
127
127
|
// packages/cli/agentInternalCommandEntries.ts
|
|
128
128
|
function getAgentInternalCommandEntries() {
|
|
129
129
|
const createAgentRunCommand = (path, description) => createContextCommand(path, description, async (args2, ctx) => {
|
|
130
|
-
const { runAgentRunCommand } = await import("./agentRunCommand-
|
|
130
|
+
const { runAgentRunCommand } = await import("./agentRunCommand-7VTYZY3Q.js");
|
|
131
131
|
return runAgentRunCommand(args2, {
|
|
132
132
|
env: ctx.env,
|
|
133
133
|
scriptDir: ctx.scriptDir,
|
|
@@ -139,11 +139,11 @@ function getAgentInternalCommandEntries() {
|
|
|
139
139
|
createAgentRunCommand(["run"], "Run a no-login local agent in this workspace"),
|
|
140
140
|
createAgentRunCommand(["chat"], "Chat with an agent"),
|
|
141
141
|
createEnvCommand(["agent", "list"], "List owned agents", async (args2, deps) => {
|
|
142
|
-
const { runAgentListCommand } = await import("./agentListCommands-
|
|
142
|
+
const { runAgentListCommand } = await import("./agentListCommands-3GWH4E4G.js");
|
|
143
143
|
return runAgentListCommand(args2, deps);
|
|
144
144
|
}),
|
|
145
145
|
createEnvCommand(["agent", "create"], "Create a new agent", async (args2, deps) => {
|
|
146
|
-
const { runAgentCreateCommand } = await import("./agentRecordCommands-
|
|
146
|
+
const { runAgentCreateCommand } = await import("./agentRecordCommands-JY4IWSSQ.js");
|
|
147
147
|
return runAgentCreateCommand(args2, deps);
|
|
148
148
|
}),
|
|
149
149
|
createEnvCommand(["agent", "models"], "List models available on an OpenAI-compatible provider", async (args2, deps) => {
|
|
@@ -159,7 +159,7 @@ function getAgentInternalCommandEntries() {
|
|
|
159
159
|
return runAgentPullCommand(args2, deps);
|
|
160
160
|
}),
|
|
161
161
|
createEnvCommand(["agent", "read"], "Read a single agent", async (args2, deps) => {
|
|
162
|
-
const { runAgentReadCommand } = await import("./agentRecordCommands-
|
|
162
|
+
const { runAgentReadCommand } = await import("./agentRecordCommands-JY4IWSSQ.js");
|
|
163
163
|
return runAgentReadCommand(args2, deps);
|
|
164
164
|
}),
|
|
165
165
|
createAgentRunCommand(["agent", "run"], "Run an agent"),
|
|
@@ -188,31 +188,31 @@ function getAgentInternalCommandEntries() {
|
|
|
188
188
|
return runSetupOfflineMarxistsAgentCommand(args2, deps);
|
|
189
189
|
}),
|
|
190
190
|
createEnvCommand(["agent", "update"], "Update agent fields", async (args2, deps) => {
|
|
191
|
-
const { runAgentUpdateCommand } = await import("./agentRecordCommands-
|
|
191
|
+
const { runAgentUpdateCommand } = await import("./agentRecordCommands-JY4IWSSQ.js");
|
|
192
192
|
return runAgentUpdateCommand(args2, deps);
|
|
193
193
|
}),
|
|
194
194
|
createEnvCommand(["agent", "email", "provision"], "Provision a controlled inbox for an agent", async (args2, deps) => {
|
|
195
|
-
const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-
|
|
195
|
+
const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-AQZVMNLR.js");
|
|
196
196
|
return runAgentEmailProvisionCommand(args2, deps);
|
|
197
197
|
}),
|
|
198
198
|
createEnvCommand(["agent", "email", "bind"], "Bind an existing email address to an agent", async (args2, deps) => {
|
|
199
|
-
const { runAgentEmailBindCommand } = await import("./agentEmailCommands-
|
|
199
|
+
const { runAgentEmailBindCommand } = await import("./agentEmailCommands-AQZVMNLR.js");
|
|
200
200
|
return runAgentEmailBindCommand(args2, deps);
|
|
201
201
|
}),
|
|
202
202
|
createEnvCommand(["agent", "email", "transfer"], "Transfer an email identity from one agent to another (cross-account)", async (args2, deps) => {
|
|
203
|
-
const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-
|
|
203
|
+
const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-AQZVMNLR.js");
|
|
204
204
|
return runAgentEmailTransferCommand(args2, deps);
|
|
205
205
|
}),
|
|
206
206
|
createEnvCommand(
|
|
207
207
|
["agent", "email", "create-and-provision"],
|
|
208
208
|
"Create an agent and provision its controlled inbox",
|
|
209
209
|
async (args2, deps) => {
|
|
210
|
-
const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-
|
|
210
|
+
const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-AQZVMNLR.js");
|
|
211
211
|
return runAgentEmailCreateAndProvisionCommand(args2, deps);
|
|
212
212
|
}
|
|
213
213
|
),
|
|
214
214
|
createEnvCommand(["agent", "delete"], "Hard-delete an agent's private and public records", async (args2, deps) => {
|
|
215
|
-
const { runAgentDeleteCommand } = await import("./agentDeleteCommand-
|
|
215
|
+
const { runAgentDeleteCommand } = await import("./agentDeleteCommand-YB3S2LPY.js");
|
|
216
216
|
return runAgentDeleteCommand(args2, deps);
|
|
217
217
|
}),
|
|
218
218
|
createEnvCommand(["agent", "grant"], "Grant another user access to this agent's owner credentials", async (args2, deps) => {
|
|
@@ -228,15 +228,15 @@ function getAgentInternalCommandEntries() {
|
|
|
228
228
|
return runAgentRevokeGrantCommand(args2, deps);
|
|
229
229
|
}),
|
|
230
230
|
createEnvCommand(["agent", "bind-current"], "Bind an agent to this machine", async (args2, deps) => {
|
|
231
|
-
const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-
|
|
231
|
+
const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-R5AVYYN3.js");
|
|
232
232
|
return runAgentBindCurrentCommand(args2, deps);
|
|
233
233
|
}),
|
|
234
234
|
createEnvCommand(["agent", "smoke-current"], "Smoke test a bound agent through this machine", async (args2, deps) => {
|
|
235
|
-
const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-
|
|
235
|
+
const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-R5AVYYN3.js");
|
|
236
236
|
return runAgentSmokeCurrentCommand(args2, deps);
|
|
237
237
|
}),
|
|
238
238
|
createEnvCommand(["agent", "runtime-doctor"], "Diagnose current machine runtime compatibility", async (args2, deps) => {
|
|
239
|
-
const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-
|
|
239
|
+
const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-R5AVYYN3.js");
|
|
240
240
|
return runAgentRuntimeDoctorCommand(args2, deps);
|
|
241
241
|
}),
|
|
242
242
|
createAgentRunCommand(["agent", "chat"], "Chat with an agent")
|
|
@@ -247,23 +247,23 @@ function getAgentInternalCommandEntries() {
|
|
|
247
247
|
function getAppInternalCommandEntries() {
|
|
248
248
|
return [
|
|
249
249
|
createEnvCommand(["app", "list"], "List your apps", async (args2, deps) => {
|
|
250
|
-
const { runAppListCommand } = await import("./appListCommands-
|
|
250
|
+
const { runAppListCommand } = await import("./appListCommands-PKRLSWRE.js");
|
|
251
251
|
return runAppListCommand(args2, deps);
|
|
252
252
|
}),
|
|
253
253
|
createEnvCommand(["app", "get"], "Get app details", async (args2, deps) => {
|
|
254
|
-
const { runAppGetCommand } = await import("./appGetCommands-
|
|
254
|
+
const { runAppGetCommand } = await import("./appGetCommands-EXWT3QAE.js");
|
|
255
255
|
return runAppGetCommand(args2, deps);
|
|
256
256
|
}),
|
|
257
257
|
createEnvCommand(["app", "deploy"], "Deploy an app", async (args2, deps) => {
|
|
258
|
-
const { runAppDeployCommand } = await import("./appDeployCommands-
|
|
258
|
+
const { runAppDeployCommand } = await import("./appDeployCommands-YCVY2UYO.js");
|
|
259
259
|
return runAppDeployCommand(args2, deps);
|
|
260
260
|
}),
|
|
261
261
|
createEnvCommand(["app", "deploy", "status"], "Check app deploy status", async (args2, deps) => {
|
|
262
|
-
const { runAppDeployStatusCommand } = await import("./appDeployStatusCommands-
|
|
262
|
+
const { runAppDeployStatusCommand } = await import("./appDeployStatusCommands-JMCEIKTI.js");
|
|
263
263
|
return runAppDeployStatusCommand(args2, deps);
|
|
264
264
|
}),
|
|
265
265
|
createEnvCommand(["app", "delete"], "Delete an app", async (args2, deps) => {
|
|
266
|
-
const { runAppDeleteCommand } = await import("./appDeleteCommands-
|
|
266
|
+
const { runAppDeleteCommand } = await import("./appDeleteCommands-JPWTSFID.js");
|
|
267
267
|
return runAppDeleteCommand(args2, deps);
|
|
268
268
|
})
|
|
269
269
|
];
|
|
@@ -332,27 +332,27 @@ function getChromeInternalCommandEntries() {
|
|
|
332
332
|
function getDialogInternalCommandEntries() {
|
|
333
333
|
return [
|
|
334
334
|
createEnvCommand(["dialog", "search"], "Search dialog messages across dialogs", async (args2, deps) => {
|
|
335
|
-
const { runDialogSearchCommand } = await import("./dialogCommands-
|
|
335
|
+
const { runDialogSearchCommand } = await import("./dialogCommands-YVMHDEOX.js");
|
|
336
336
|
return runDialogSearchCommand(args2, deps);
|
|
337
337
|
}),
|
|
338
338
|
createEnvCommand(["dialog", "list"], "List dialogs (default --limit 50; --all/--limit 0 full; --jsonl streams)", async (args2, deps) => {
|
|
339
|
-
const { runDialogListCommand } = await import("./dialogCommands-
|
|
339
|
+
const { runDialogListCommand } = await import("./dialogCommands-YVMHDEOX.js");
|
|
340
340
|
return runDialogListCommand(args2, deps);
|
|
341
341
|
}),
|
|
342
342
|
createEnvCommand(["dialog", "delete"], "Delete one or more dialogs", async (args2, deps) => {
|
|
343
|
-
const { runDialogDeleteCommand } = await import("./dialogCommands-
|
|
343
|
+
const { runDialogDeleteCommand } = await import("./dialogCommands-YVMHDEOX.js");
|
|
344
344
|
return runDialogDeleteCommand(args2, deps);
|
|
345
345
|
}),
|
|
346
346
|
createEnvCommand(["dialog", "query"], "Query dialogs by subject refs (default --limit 50; --all full; --jsonl streams)", async (args2, deps) => {
|
|
347
|
-
const { runDialogQueryCommand } = await import("./dialogCommands-
|
|
347
|
+
const { runDialogQueryCommand } = await import("./dialogCommands-YVMHDEOX.js");
|
|
348
348
|
return runDialogQueryCommand(args2, deps);
|
|
349
349
|
}),
|
|
350
350
|
createEnvCommand(["dialog", "read"], "Read a dialog", async (args2, deps) => {
|
|
351
|
-
const { runDialogReadCommand } = await import("./dialogCommands-
|
|
351
|
+
const { runDialogReadCommand } = await import("./dialogCommands-YVMHDEOX.js");
|
|
352
352
|
return runDialogReadCommand(args2, deps);
|
|
353
353
|
}),
|
|
354
354
|
createEnvCommand(["dialog", "status"], "Read compact dialog status", async (args2, deps) => {
|
|
355
|
-
const { runDialogStatusCommand } = await import("./dialogCommands-
|
|
355
|
+
const { runDialogStatusCommand } = await import("./dialogCommands-YVMHDEOX.js");
|
|
356
356
|
return runDialogStatusCommand(args2, deps);
|
|
357
357
|
})
|
|
358
358
|
];
|
|
@@ -362,39 +362,39 @@ function getDialogInternalCommandEntries() {
|
|
|
362
362
|
function getDocInternalCommandEntries() {
|
|
363
363
|
return [
|
|
364
364
|
createEnvCommand(["doc", "create"], "Create a normal doc", async (args2, deps) => {
|
|
365
|
-
const { runDocCreateCommand } = await import("./docCreateCommands-
|
|
365
|
+
const { runDocCreateCommand } = await import("./docCreateCommands-7UTWDYJU.js");
|
|
366
366
|
return runDocCreateCommand(args2, deps);
|
|
367
367
|
}),
|
|
368
368
|
createEnvCommand(["doc", "read"], "Read a normal doc", async (args2, deps) => {
|
|
369
|
-
const { runDocReadCommand } = await import("./docReadCommands-
|
|
369
|
+
const { runDocReadCommand } = await import("./docReadCommands-QHMQVSLP.js");
|
|
370
370
|
return runDocReadCommand(args2, deps);
|
|
371
371
|
}),
|
|
372
372
|
createEnvCommand(["doc", "update"], "Update a normal doc", async (args2, deps) => {
|
|
373
|
-
const { runDocUpdateCommand } = await import("./docUpdateCommands-
|
|
373
|
+
const { runDocUpdateCommand } = await import("./docUpdateCommands-QPL6IVUK.js");
|
|
374
374
|
return runDocUpdateCommand(args2, deps);
|
|
375
375
|
}),
|
|
376
376
|
createEnvCommand(["doc", "delete"], "Delete a normal doc", async (args2, deps) => {
|
|
377
|
-
const { runDocDeleteCommand } = await import("./docDeleteCommands-
|
|
377
|
+
const { runDocDeleteCommand } = await import("./docDeleteCommands-GG6BJ4PS.js");
|
|
378
378
|
return runDocDeleteCommand(args2, deps);
|
|
379
379
|
}),
|
|
380
380
|
createEnvCommand(["skill-doc", "create"], "Create a skill-backed doc", async (args2, deps) => {
|
|
381
|
-
const { runSkillDocCreateCommand } = await import("./docCreateCommands-
|
|
381
|
+
const { runSkillDocCreateCommand } = await import("./docCreateCommands-7UTWDYJU.js");
|
|
382
382
|
return runSkillDocCreateCommand(args2, deps);
|
|
383
383
|
}),
|
|
384
384
|
createEnvCommand(["skill", "create-doc"], "Create a skill-backed doc", async (args2, deps) => {
|
|
385
|
-
const { runSkillDocCreateCommand } = await import("./docCreateCommands-
|
|
385
|
+
const { runSkillDocCreateCommand } = await import("./docCreateCommands-7UTWDYJU.js");
|
|
386
386
|
return runSkillDocCreateCommand(args2, deps);
|
|
387
387
|
}),
|
|
388
388
|
createEnvCommand(["skill-doc", "read"], "Read a skill doc", async (args2, deps) => {
|
|
389
|
-
const { runSkillDocReadCommand } = await import("./docReadCommands-
|
|
389
|
+
const { runSkillDocReadCommand } = await import("./docReadCommands-QHMQVSLP.js");
|
|
390
390
|
return runSkillDocReadCommand(args2, deps);
|
|
391
391
|
}),
|
|
392
392
|
createEnvCommand(["skill-doc", "update"], "Update a skill doc", async (args2, deps) => {
|
|
393
|
-
const { runSkillDocUpdateCommand } = await import("./docUpdateCommands-
|
|
393
|
+
const { runSkillDocUpdateCommand } = await import("./docUpdateCommands-QPL6IVUK.js");
|
|
394
394
|
return runSkillDocUpdateCommand(args2, deps);
|
|
395
395
|
}),
|
|
396
396
|
createEnvCommand(["skill-doc", "delete"], "Delete a skill doc", async (args2, deps) => {
|
|
397
|
-
const { runSkillDocDeleteCommand } = await import("./docDeleteCommands-
|
|
397
|
+
const { runSkillDocDeleteCommand } = await import("./docDeleteCommands-GG6BJ4PS.js");
|
|
398
398
|
return runSkillDocDeleteCommand(args2, deps);
|
|
399
399
|
})
|
|
400
400
|
];
|
|
@@ -422,19 +422,19 @@ function getMemoryInternalCommandEntries() {
|
|
|
422
422
|
function getSpaceInternalCommandEntries() {
|
|
423
423
|
return [
|
|
424
424
|
createEnvCommand(["space", "create"], "Create a space", async (args2, deps) => {
|
|
425
|
-
const { runSpaceCreateCommand } = await import("./spaceCommands-
|
|
425
|
+
const { runSpaceCreateCommand } = await import("./spaceCommands-BMXKR7H6.js");
|
|
426
426
|
return runSpaceCreateCommand(args2, deps);
|
|
427
427
|
}),
|
|
428
428
|
createEnvCommand(["space", "invite"], "Invite an existing user to a space", async (args2, deps) => {
|
|
429
|
-
const { runSpaceInviteCommand } = await import("./spaceCommands-
|
|
429
|
+
const { runSpaceInviteCommand } = await import("./spaceCommands-BMXKR7H6.js");
|
|
430
430
|
return runSpaceInviteCommand(args2, deps);
|
|
431
431
|
}),
|
|
432
432
|
createEnvCommand(["space", "accept-invite"], "Accept a space invite", async (args2, deps) => {
|
|
433
|
-
const { runSpaceAcceptInviteCommand } = await import("./spaceCommands-
|
|
433
|
+
const { runSpaceAcceptInviteCommand } = await import("./spaceCommands-BMXKR7H6.js");
|
|
434
434
|
return runSpaceAcceptInviteCommand(args2, deps);
|
|
435
435
|
}),
|
|
436
436
|
createEnvCommand(["space", "upload"], "Upload a file to a space", async (args2, deps) => {
|
|
437
|
-
const { runSpaceUploadCommand } = await import("./spaceCommands-
|
|
437
|
+
const { runSpaceUploadCommand } = await import("./spaceCommands-BMXKR7H6.js");
|
|
438
438
|
return runSpaceUploadCommand(args2, deps);
|
|
439
439
|
})
|
|
440
440
|
];
|
|
@@ -488,15 +488,15 @@ function getSystemInternalCommandEntries(renderHelpText2) {
|
|
|
488
488
|
return runWhoamiCommand({ args: args2, env: ctx.env });
|
|
489
489
|
}),
|
|
490
490
|
createEntrypointEnvCommand(["connect"], "Send machine heartbeats or hold a connector websocket", async (args2, deps) => {
|
|
491
|
-
const { runMachineConnectCommand } = await import("./machineCommands-
|
|
491
|
+
const { runMachineConnectCommand } = await import("./machineCommands-7DEUPY32.js");
|
|
492
492
|
return runMachineConnectCommand(args2, deps);
|
|
493
493
|
}),
|
|
494
494
|
createDaemonShortcutCommand(["daemon"], "Run the connector daemon shortcut", async (args2, deps) => {
|
|
495
|
-
const { runMachineConnectCommand } = await import("./machineCommands-
|
|
495
|
+
const { runMachineConnectCommand } = await import("./machineCommands-7DEUPY32.js");
|
|
496
496
|
return runMachineConnectCommand(args2, deps);
|
|
497
497
|
}),
|
|
498
498
|
createEnvCommand(["machine", "status"], "List machines registered to the current profile", async (args2, deps) => {
|
|
499
|
-
const { runMachineStatusCommand } = await import("./machineCommands-
|
|
499
|
+
const { runMachineStatusCommand } = await import("./machineCommands-7DEUPY32.js");
|
|
500
500
|
return runMachineStatusCommand(args2, deps);
|
|
501
501
|
}),
|
|
502
502
|
createEnvCommand(["doctor", "runtime"], "Diagnose local-first agent runtime selection", async (args2, deps) => {
|
|
@@ -892,7 +892,7 @@ async function runScript(script, forwardedArgs, env) {
|
|
|
892
892
|
return proc.exited;
|
|
893
893
|
}
|
|
894
894
|
async function launchTuiWorkspace(args2) {
|
|
895
|
-
const { startTuiWorkspace } = await import("./readlineWorkspace-
|
|
895
|
+
const { startTuiWorkspace } = await import("./readlineWorkspace-JP2AOALW.js");
|
|
896
896
|
const { createTuiSummaryLlmCaller } = await import("./tuiSummaryLlmCaller-WFRWERGK.js");
|
|
897
897
|
return startTuiWorkspace({
|
|
898
898
|
...args2,
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
buildMachinePermissionPromptBlock,
|
|
3
3
|
handleConnectorRunMessage,
|
|
4
4
|
resolveMachineRunPermissionPolicy
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-VLI5LVL5.js";
|
|
6
6
|
import {
|
|
7
7
|
isConnectorWebSocketAuthError,
|
|
8
8
|
isConnectorWebSocketRetryableError,
|
|
9
9
|
resolveConnectorWebSocketTarget
|
|
10
10
|
} from "./chunk-ALXHV7NK.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-RJ4QOQDA.js";
|
|
12
12
|
import "./chunk-53HEEOTT.js";
|
|
13
13
|
import "./chunk-EADNWBAZ.js";
|
|
14
14
|
import "./chunk-SH43IESU.js";
|
|
@@ -69,7 +69,7 @@ import "./chunk-KHCLMKZZ.js";
|
|
|
69
69
|
import {
|
|
70
70
|
PATH_FIELD_ALIASES,
|
|
71
71
|
createLocalWorkspaceToolExecutors
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-LC43IGO4.js";
|
|
73
73
|
import "./chunk-ZCYXJSTU.js";
|
|
74
74
|
import "./chunk-Q5FJJ6XI.js";
|
|
75
75
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
runtimeWorkspacePermissionPolicy,
|
|
12
12
|
scopePermissionPolicyToRuntimeWorkspace,
|
|
13
13
|
summarizeAgentConfigForLogs
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-VLI5LVL5.js";
|
|
15
|
+
import "./chunk-RJ4QOQDA.js";
|
|
16
16
|
import "./chunk-53HEEOTT.js";
|
|
17
17
|
import "./chunk-EADNWBAZ.js";
|
|
18
18
|
import "./chunk-SH43IESU.js";
|
|
@@ -65,7 +65,7 @@ import "./chunk-JRQFUXY7.js";
|
|
|
65
65
|
import "./chunk-DHDMC6FO.js";
|
|
66
66
|
import "./chunk-Q554LLSI.js";
|
|
67
67
|
import "./chunk-KHCLMKZZ.js";
|
|
68
|
-
import "./chunk-
|
|
68
|
+
import "./chunk-LC43IGO4.js";
|
|
69
69
|
import "./chunk-ZCYXJSTU.js";
|
|
70
70
|
import "./chunk-Q5FJJ6XI.js";
|
|
71
71
|
import "./chunk-ZNFJWEN4.js";
|
package/package.json
CHANGED
|
@@ -72,7 +72,7 @@ import {
|
|
|
72
72
|
wrapTextToLines,
|
|
73
73
|
wrapTranscriptLine,
|
|
74
74
|
wrapTranscriptLineWithLayout
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-O7EBSHZR.js";
|
|
76
76
|
import "./chunk-S7Z2HMCN.js";
|
|
77
77
|
import "./chunk-V7E4PXQD.js";
|
|
78
78
|
import {
|
|
@@ -97,7 +97,7 @@ import {
|
|
|
97
97
|
readTimestamp,
|
|
98
98
|
setCliLocale,
|
|
99
99
|
t
|
|
100
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-RJ4QOQDA.js";
|
|
101
101
|
import "./chunk-53HEEOTT.js";
|
|
102
102
|
import "./chunk-EADNWBAZ.js";
|
|
103
103
|
import "./chunk-SH43IESU.js";
|
|
@@ -207,7 +207,7 @@ import {
|
|
|
207
207
|
formatToolOverflowMarker,
|
|
208
208
|
getProcessRegistry,
|
|
209
209
|
readCommandActionGatePayload
|
|
210
|
-
} from "./chunk-
|
|
210
|
+
} from "./chunk-LC43IGO4.js";
|
|
211
211
|
import "./chunk-ZCYXJSTU.js";
|
|
212
212
|
import "./chunk-Q5FJJ6XI.js";
|
|
213
213
|
import "./chunk-ZNFJWEN4.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import "./chunk-Z77CRGTW.js";
|
|
12
12
|
import "./chunk-SV5IJK6K.js";
|
|
13
13
|
import "./chunk-KQHGZWSV.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-LC43IGO4.js";
|
|
15
15
|
import "./chunk-ZCYXJSTU.js";
|
|
16
16
|
import "./chunk-Q5FJJ6XI.js";
|
|
17
17
|
import "./chunk-ZNFJWEN4.js";
|