nolo-cli 0.1.30 → 0.1.31
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/agent-runtime/agentRecordConfig.ts +0 -2
- package/agent-runtime/hostAdapter.ts +0 -1
- package/agent-runtime/hostRuntimeCapabilities.ts +7 -0
- package/agent-runtime/hostRuntimeConfig.ts +86 -0
- package/agent-runtime/index.ts +13 -0
- package/agent-runtime/localToolPolicy.ts +13 -6
- package/agent-runtime/localWorkspaceTools.ts +333 -30
- package/agent-runtime/platformChatProvider.ts +4 -1
- package/agent-runtime/runtimeToolPolicy.ts +32 -47
- package/agent-runtime/shellCommandPolicy.ts +117 -0
- package/agent-runtime/toolGate.ts +38 -0
- package/agentRecordCommands.ts +1 -1
- package/agentRecordHelpers.ts +35 -20
- package/agentRunParsing.ts +18 -5
- package/agentRuntimeLocal.ts +10 -0
- package/ai/agent/agentRunDialogLineage.ts +56 -0
- package/ai/agent/agentSlice.ts +45 -10
- package/ai/agent/avatarUtils.ts +1 -1
- package/ai/agent/buildSystemPrompt.ts +1 -2
- package/ai/agent/cliExecutor.ts +330 -19
- package/ai/agent/createAgentSchema.ts +22 -0
- package/ai/agent/hooks/fetchPublicAgents.ts +14 -39
- package/ai/agent/hooks/usePublicAgents.ts +90 -192
- package/ai/agent/publicAgentCatalog.ts +359 -0
- package/ai/agent/publicAgentIdentity.ts +76 -0
- package/ai/agent/server/fetchPublicAgents.ts +21 -46
- package/ai/agent/serverOrigin.ts +7 -0
- package/ai/agent/streamAgentChatTurn.ts +23 -21
- package/ai/agent/streamAgentChatTurnUtils.ts +292 -6
- package/ai/agent/types.ts +2 -0
- package/ai/agent/web/agentDisplayUtils.ts +171 -0
- package/ai/agent/web/useAgentModelAvatarComponent.ts +32 -0
- package/ai/ai.locale.ts +8 -0
- package/ai/chat/sendOpenAICompletionsRequest.native.ts +15 -0
- package/ai/chat/sendOpenAICompletionsRequest.ts +93 -1
- package/ai/chat/sendOpenAIResponseRequest.ts +86 -9
- package/ai/chat/updateTotalUsage.ts +7 -0
- package/ai/llm/deepinfra.ts +30 -15
- package/ai/llm/mistral.ts +3 -4
- package/ai/llm/providers.ts +2 -0
- package/ai/llm/types.ts +15 -0
- package/ai/memory/capture.ts +3 -3
- package/ai/memory/consolidate.ts +2 -2
- package/ai/memory/delete.ts +4 -3
- package/ai/memory/query.ts +3 -3
- package/ai/memory/remember.ts +2 -2
- package/ai/memory/store.ts +3 -3
- package/ai/memory/storeShared.ts +3 -2
- package/ai/policy/commercialMultiplier.ts +16 -0
- package/ai/token/billingAdminAuditEvent.ts +68 -0
- package/ai/token/billingAdminAuditEventWriter.ts +41 -0
- package/ai/token/billingAnomaly.ts +90 -0
- package/ai/token/billingAnomalyLifecycle.ts +54 -0
- package/ai/token/billingAnomalyLifecycleWriter.ts +44 -0
- package/ai/token/billingAnomalyWriter.ts +41 -0
- package/ai/token/calculatePrice.ts +3 -2
- package/ai/token/deepinfraReconciliation.ts +153 -0
- package/ai/token/deepinfraRequestIdQuery.ts +92 -0
- package/ai/token/externalToolCost.ts +54 -41
- package/ai/token/missingUsageEstimate.ts +12 -3
- package/ai/token/normalizeUsage.ts +45 -5
- package/ai/token/openaiReconciliation.ts +188 -0
- package/ai/token/providerBillableEvent.ts +84 -0
- package/ai/token/providerBillableEventWriter.ts +36 -0
- package/ai/token/providerBillingAnomalyDrilldown.ts +308 -0
- package/ai/token/providerBillingDrilldown.ts +361 -0
- package/ai/token/providerBillingHealthReport.ts +366 -0
- package/ai/token/providerCall.ts +144 -0
- package/ai/token/providerCallSweeper.ts +168 -0
- package/ai/token/providerCallWriter.ts +33 -0
- package/ai/token/providerCredential.ts +89 -0
- package/ai/token/providerCredentialAnomaly.ts +154 -0
- package/ai/token/providerCredentialLifecycle.ts +59 -0
- package/ai/token/providerCredentialLifecycleWriter.ts +44 -0
- package/ai/token/providerCredentialRegistry.ts +83 -0
- package/ai/token/providerCredentialRegistryCommand.ts +97 -0
- package/ai/token/providerCredentialRegistryList.ts +124 -0
- package/ai/token/providerCredentialRegistryResolver.ts +150 -0
- package/ai/token/providerCredentialRegistryWriter.ts +41 -0
- package/ai/token/providerCredentialRotationCommand.ts +102 -0
- package/ai/token/providerCredentialRuntime.ts +56 -0
- package/ai/token/providerDispatchIntent.ts +67 -0
- package/ai/token/providerDispatchIntentWriter.ts +36 -0
- package/ai/token/providerGateway.ts +260 -0
- package/ai/token/providerReconciliation.ts +148 -0
- package/ai/token/providerReconciliationLocal.ts +97 -0
- package/ai/token/providerReconciliationRunner.ts +165 -0
- package/ai/token/providerReconciliationWriter.ts +41 -0
- package/ai/token/ratingResult.ts +202 -0
- package/ai/token/ratingResultWriter.ts +33 -0
- package/ai/token/serverDialogProjection.ts +5 -3
- package/ai/token/serverTokenWriter.ts +11 -3
- package/ai/token/types.ts +10 -0
- package/ai/tools/agent/callAgentTool.ts +3 -4
- package/ai/tools/agent/presets/appBuilderPreset.ts +5 -7
- package/ai/tools/agent/runStreamingAgentTool.ts +1 -2
- package/ai/tools/agent/streamParallelAgentsTool.ts +2 -3
- package/ai/tools/readXPostTool.ts +1 -5
- package/app/admin/adminPages.ts +9 -0
- package/app/i18n/i18n.config.ts +5 -0
- package/app/i18n/translations/pricing.locale.ts +397 -0
- package/app/utils/desktopAgentRuntimeStatusClient.ts +5 -4
- package/app/utils/desktopAgentRuntimeTurnClient.ts +4 -1
- package/app/utils/imageUtils.ts +64 -34
- package/auth/adminPermissions.ts +18 -0
- package/auth/authSlice.ts +26 -12
- package/auth/hooks/useFetchUsers.ts +3 -0
- package/auth/routes.ts +46 -0
- package/auth/server/accessActivity.ts +4 -3
- package/auth/server/adminPermissions.ts +43 -0
- package/auth/server/adminUsageReport.ts +375 -0
- package/auth/server/billingAnomalies.ts +235 -0
- package/auth/server/billingUsageReport.ts +41 -2
- package/auth/server/creatorEarningCreditConversion.ts +10 -2
- package/auth/server/deduct.ts +14 -7
- package/auth/server/delete.ts +10 -2
- package/auth/server/disable.ts +4 -3
- package/auth/server/emailAutomation.ts +7 -5
- package/auth/server/emailDbConfig.ts +4 -2
- package/auth/server/emailDelivery.ts +24 -20
- package/auth/server/emailDeliveryGuards.ts +10 -7
- package/auth/server/emailPreferences.ts +6 -4
- package/auth/server/emailReport.ts +6 -4
- package/auth/server/emailRuntimeConfig.ts +3 -3
- package/auth/server/emailScenarioNotifications.ts +9 -8
- package/auth/server/enable.ts +4 -3
- package/auth/server/getRechargeHistory.ts +3 -2
- package/auth/server/getUser.ts +3 -2
- package/auth/server/gptProAccess.ts +44 -0
- package/auth/server/inviteReward.ts +10 -7
- package/auth/server/listusers.ts +6 -4
- package/auth/server/login.ts +2 -2
- package/auth/server/productEntitlements.ts +7 -4
- package/auth/server/productPurchase.ts +10 -2
- package/auth/server/providerBillingDrilldown.ts +47 -0
- package/auth/server/providerBillingHealth.ts +71 -0
- package/auth/server/providerCredentials.ts +136 -0
- package/auth/server/recharge.ts +14 -8
- package/auth/server/revokeSessions.ts +4 -3
- package/auth/server/route.ts +77 -0
- package/auth/server/sendEmail.ts +5 -4
- package/auth/server/signup.ts +10 -3
- package/auth/server/token.ts +53 -55
- package/auth/server/tokenUsageBilling.ts +18 -7
- package/auth/server/usageManagementAccess.ts +43 -0
- package/auth/server/usageReport.ts +59 -0
- package/auth/types.ts +12 -0
- package/auth/utils.ts +24 -22
- package/authCommands.ts +36 -2
- package/buildPublish.ts +3 -1
- package/buildPublishArtifactAssembly.ts +62 -1
- package/buildPublishImportAnalysis.ts +21 -16
- package/chat/dialog/dialogLaunchScope.ts +32 -0
- package/chat/dialog/objectAssistantRegistry.ts +2 -2
- package/chat/dialog/useCreateDialog.ts +1 -1
- package/chat/hooks/useChatInput.ts +41 -10
- package/chat/messages/messageSlice.ts +5 -1
- package/chat/messages/pendingAttachmentParts.ts +28 -2
- package/chat/messages/sendFirstMessage.ts +76 -79
- package/chat/messages/types.ts +9 -0
- package/chat/messages/web/streamingMarkdownModel.ts +41 -0
- package/chat/messages/web/useStreamingReveal.ts +91 -0
- package/chat/web/messageInputAgentUi.ts +94 -6
- package/cliEnvHelpers.ts +8 -0
- package/cliRuntimeDoctorReport.ts +193 -0
- package/client/agentConfigResolver.test.ts +0 -2
- package/client/agentRun.test.ts +171 -10
- package/client/agentRun.ts +44 -637
- package/client/agentRunInput.ts +10 -0
- package/client/agentRunLocalExecutor.ts +179 -0
- package/client/agentRunServerTransport.ts +394 -0
- package/client/agentRunTaskRunRecorder.ts +176 -0
- package/client/localRuntimeAdapter.test.ts +236 -9
- package/client/localRuntimeAdapter.ts +221 -23
- package/client/localToolPolicy.test.ts +28 -4
- package/connector-experimental/daemonLauncher.ts +38 -4
- package/connectorRunArtifact.ts +34 -10
- package/connectorWebSocketTarget.ts +9 -5
- package/core/builtinAgents.ts +155 -11
- package/create/space/contentLabels.ts +1 -1
- package/create/space/contentTypeMeta.ts +3 -2
- package/create/space/sidebarVisibleTypes.ts +27 -0
- package/create/space/space.locale.ts +76 -4
- package/database/actions/agentReadResolution.ts +2 -8
- package/database/actions/read.ts +11 -9
- package/database/actions/readAndWait.ts +10 -5
- package/database/server/agentDelegation.ts +3 -2
- package/database/server/authorityStoreConformance.ts +209 -0
- package/database/server/authorityStoreTypes.ts +31 -0
- package/database/server/coreDataProxy.ts +1 -1
- package/database/server/dataHandlers.ts +13 -5
- package/database/server/db.ts +15 -34
- package/database/server/delete.ts +88 -71
- package/database/server/emailRepository.ts +11 -9
- package/database/server/fileService.ts +2 -1
- package/database/server/legacyServerDb.ts +58 -0
- package/database/server/levelAuthorityStore.ts +75 -0
- package/database/server/memoryAuthorityStore.ts +133 -0
- package/database/server/patch.ts +13 -12
- package/database/server/query.ts +3 -2
- package/database/server/read.ts +33 -30
- package/database/server/resourceAccess.ts +7 -5
- package/database/server/serverStoreFactory.ts +124 -0
- package/database/server/spaceMemberAuthority.ts +3 -2
- package/database/server/storeBatchCompat.ts +37 -0
- package/database/server/testAuthorityStore.ts +76 -0
- package/database/server/write.ts +29 -27
- package/integrations/anthropic/anthropicModels.ts +12 -12
- package/integrations/deepseek/models.ts +67 -67
- package/integrations/google/models.ts +111 -53
- package/integrations/openai/models.ts +22 -22
- package/integrations/xai/models.ts +1 -1
- package/localRuntimeDb.ts +39 -2
- package/machineCommandPrompts.ts +2 -0
- package/machineCommands.ts +193 -63
- package/machineWsRunDispatch.ts +80 -15
- package/machineWsSession.ts +39 -2
- package/noloReadBridgePrompt.ts +16 -0
- package/package.json +99 -6
- package/render/layout/mainLayoutViewMode.ts +25 -0
- package/render/page/server/createPage.ts +3 -1
- package/render/page/server/handleCreatePage.ts +2 -11
- package/runtimeDoctorCommands.ts +15 -66
- package/server/api/methods.ts +34 -12
- package/server/api/tableHandlers.ts +6 -3
- package/server/authenticateToken.ts +47 -2
- package/server/billingLedgerRoutes.ts +15 -0
- package/server/buildManifest.ts +54 -0
- package/server/coreReadiness.ts +34 -25
- package/server/coreRuntime.ts +15 -10
- package/server/handlers/activityStatsHandler.ts +5 -2
- package/server/handlers/agentEmailRegistrationE2EHandler.ts +25 -23
- package/server/handlers/agentRun/agentLookup.ts +1 -7
- package/server/handlers/agentRun/autonomousRuntime.ts +11 -10
- package/server/handlers/agentRun/builtinAgents.ts +12 -88
- package/server/handlers/agentRun/continueDialogContext.ts +15 -3
- package/server/handlers/agentRun/{inheritedDialogPrompt.ts → conversationReference.ts} +3 -3
- package/server/handlers/agentRun/dialogLookup.ts +4 -3
- package/server/handlers/agentRun/index.ts +864 -404
- package/server/handlers/agentRun/localRuntimeBootstrap.ts +17 -1
- package/server/handlers/agentRun/loop.ts +920 -508
- package/server/handlers/agentRun/machineConnector.ts +56 -8
- package/server/handlers/agentRun/machineRunAudit.ts +3 -2
- package/server/handlers/agentRun/modelUsageToolHandlers.ts +13 -10
- package/server/handlers/agentRun/requestContext.ts +12 -8
- package/server/handlers/agentRun/runtimeExecutionContext.ts +15 -3
- package/server/handlers/agentRun/runtimePreparation.ts +26 -24
- package/server/handlers/agentRun/runtimeRouting.ts +25 -40
- package/server/handlers/agentRun/runtimeSystemMessages.ts +65 -0
- package/server/handlers/agentRun/saveDialog.ts +97 -87
- package/server/handlers/agentRun/taskRunToolHandler.ts +9 -7
- package/server/handlers/agentRun/toolExecutor.ts +42 -78
- package/server/handlers/agentRun/types.ts +2 -1
- package/server/handlers/appDeployStatusStore.ts +17 -10
- package/server/handlers/appDomainHandler.ts +21 -15
- package/server/handlers/appLegacyInfraCleanup.ts +5 -2
- package/server/handlers/appSandboxHandler.ts +29 -8
- package/server/handlers/appSpaceAccess.ts +15 -8
- package/server/handlers/chatHandler.ts +22 -2
- package/server/handlers/chatUpstreamRetry.ts +225 -2
- package/server/handlers/connector/connectorConnectionRegistry.ts +55 -7
- package/server/handlers/connector/connectorWebSocket.ts +14 -10
- package/server/handlers/desktopAgentRuntimeAdapter.ts +4 -4
- package/server/handlers/desktopAgentRuntimeHostCapabilities.ts +25 -0
- package/server/handlers/desktopAgentRuntimeReadiness.ts +62 -0
- package/server/handlers/desktopAgentRuntimeStatusHandler.ts +38 -30
- package/server/handlers/desktopAgentRuntimeTurnHandler.ts +7 -3
- package/server/handlers/desktopAgentRuntimeTurnService.ts +39 -45
- package/server/handlers/desktopLlamaRuntimeHandler.ts +85 -51
- package/server/handlers/desktopUpdaterHandler.ts +132 -24
- package/server/handlers/favoriteHandlers.ts +8 -2
- package/server/handlers/getDialogBillingHandler.ts +4 -3
- package/server/handlers/getTransactionsHandler.ts +5 -2
- package/server/handlers/machines/machineBinding.ts +1 -0
- package/server/handlers/machines/machineHandlers.ts +0 -14
- package/server/handlers/machines/machineInstallAssets.ts +4 -2
- package/server/handlers/notificationEmitter.ts +5 -3
- package/server/handlers/notificationsHandler.ts +5 -2
- package/server/handlers/providerCallsRecentHandler.ts +234 -0
- package/server/handlers/providerReconciliationRunHandler.ts +180 -0
- package/server/handlers/providerRequestIdsHandler.ts +105 -0
- package/server/handlers/tableAccess.ts +6 -2
- package/server/handlers/tableToolHandlers.ts +28 -14
- package/server/handlers/userSecretsHandler.ts +17 -6
- package/server/handlers/versionHandler.ts +9 -4
- package/server/handlers/versionStore.ts +18 -10
- package/server/html/ssrPreload.ts +5 -3
- package/server/payments/crypto/cryptoUsdcBasePaymentProvider.ts +11 -8
- package/server/payments/crypto/cryptoUsdcBaseScanner.ts +12 -7
- package/server/payments/crypto/cryptoUsdtTronPaymentProvider.ts +11 -8
- package/server/payments/crypto/cryptoUsdtTronScanner.ts +9 -7
- package/server/payments/waffo/waffoPaymentProvider.ts +12 -9
- package/server/runtimeRole.ts +15 -0
- package/server/scheduler/scheduledTaskRuntime.ts +4 -2
- package/server/scheduler/schedulerService.ts +2 -2
- package/server/taskRunBridgeRoutes.ts +8 -5
- package/share/server/fetchCommunityShares.ts +1 -1
- package/share/server/helpers.ts +19 -17
- package/share/server/importShare.ts +9 -13
- package/share/server/listCommunityShares.ts +4 -4
- package/share/server/purchaseDoc.ts +8 -16
- package/share/server/readCommunityShareCover.ts +3 -2
- package/share/server/readSharedTable.ts +14 -13
- package/share/server/tableReplication.ts +42 -39
- package/spaceAttachCommands.ts +135 -0
- package/spaceInternalCommandEntries.ts +2 -0
- package/ai/agent/runtimeServerBase.ts +0 -37
- package/server/handlers/desktopAgentRuntimeHostFacts.ts +0 -40
|
@@ -77,7 +77,6 @@ export function resolveAgentRuntimeConfigFromRecord(
|
|
|
77
77
|
objectField(record, "runtimeToolPolicy") ??
|
|
78
78
|
objectField(runtimeBinding ?? {}, "runtimeToolPolicy");
|
|
79
79
|
const localWorkspaceMode = localWorkspaceModeField(record);
|
|
80
|
-
const delegation = objectField(record, "delegation");
|
|
81
80
|
return {
|
|
82
81
|
key,
|
|
83
82
|
...(name ? { name } : {}),
|
|
@@ -97,7 +96,6 @@ export function resolveAgentRuntimeConfigFromRecord(
|
|
|
97
96
|
...(runtimeBinding ? { runtimeBinding } : {}),
|
|
98
97
|
...(runtimeToolPolicy ? { runtimeToolPolicy } : {}),
|
|
99
98
|
...(localWorkspaceMode ? { localWorkspaceMode } : {}),
|
|
100
|
-
...(delegation ? { delegation } : {}),
|
|
101
99
|
rawRecord: record,
|
|
102
100
|
};
|
|
103
101
|
}
|
|
@@ -24,7 +24,6 @@ export type AgentRuntimeAgentConfig = {
|
|
|
24
24
|
runtimeBinding?: Record<string, unknown>;
|
|
25
25
|
runtimeToolPolicy?: AgentRuntimeToolPolicy;
|
|
26
26
|
localWorkspaceMode?: "current" | "task-worktree";
|
|
27
|
-
delegation?: Record<string, unknown>;
|
|
28
27
|
rawRecord?: Record<string, unknown>;
|
|
29
28
|
};
|
|
30
29
|
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
type EnvLike = Record<string, string | undefined>;
|
|
2
|
+
|
|
3
|
+
export type HostRuntimeSurface =
|
|
4
|
+
| "cli-local"
|
|
5
|
+
| "desktop"
|
|
6
|
+
| "connector-local"
|
|
7
|
+
| "connector-cli";
|
|
8
|
+
|
|
9
|
+
export type HostRuntimeWorkspaceBinding =
|
|
10
|
+
| "explicit-cwd"
|
|
11
|
+
| "default-cwd";
|
|
12
|
+
|
|
13
|
+
export type HostRuntimeCapabilities = {
|
|
14
|
+
allowShell: boolean;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type HostRuntimeConfig = {
|
|
18
|
+
surface: HostRuntimeSurface;
|
|
19
|
+
workspaceBinding: HostRuntimeWorkspaceBinding;
|
|
20
|
+
capabilities: HostRuntimeCapabilities;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const SHELL_ENABLED_BY_DEFAULT_SURFACES = new Set<HostRuntimeSurface>([
|
|
24
|
+
"cli-local",
|
|
25
|
+
"desktop",
|
|
26
|
+
]);
|
|
27
|
+
|
|
28
|
+
function defaultAllowShellForSurface(surface: HostRuntimeSurface) {
|
|
29
|
+
return SHELL_ENABLED_BY_DEFAULT_SURFACES.has(surface);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function readAllowShellOverrideFromEnv(env: EnvLike) {
|
|
33
|
+
const rawMode = (env.NOLO_LOCAL_SHELL_MODE || "").trim().toLowerCase();
|
|
34
|
+
if (!rawMode) return undefined;
|
|
35
|
+
if (["worktree", "dangerous", "1", "true"].includes(rawMode)) return true;
|
|
36
|
+
if (["0", "false", "off", "none", "disabled"].includes(rawMode)) return false;
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function createHostRuntimeCapabilities(args: {
|
|
41
|
+
allowShell?: boolean;
|
|
42
|
+
} = {}): HostRuntimeCapabilities {
|
|
43
|
+
return {
|
|
44
|
+
allowShell: args.allowShell === true,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function createHostRuntimeConfig(args: {
|
|
49
|
+
surface: HostRuntimeSurface;
|
|
50
|
+
workspaceBinding: HostRuntimeWorkspaceBinding;
|
|
51
|
+
allowShell?: boolean;
|
|
52
|
+
}): HostRuntimeConfig {
|
|
53
|
+
return {
|
|
54
|
+
surface: args.surface,
|
|
55
|
+
workspaceBinding: args.workspaceBinding,
|
|
56
|
+
capabilities: createHostRuntimeCapabilities({
|
|
57
|
+
allowShell: args.allowShell,
|
|
58
|
+
}),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export function resolveHostRuntimeCapabilitiesFromEnv(
|
|
63
|
+
env: EnvLike,
|
|
64
|
+
args: { surface?: HostRuntimeSurface } = {},
|
|
65
|
+
): HostRuntimeCapabilities {
|
|
66
|
+
const allowShellOverride = readAllowShellOverrideFromEnv(env);
|
|
67
|
+
return createHostRuntimeCapabilities({
|
|
68
|
+
allowShell:
|
|
69
|
+
allowShellOverride ??
|
|
70
|
+
(args.surface ? defaultAllowShellForSurface(args.surface) : false),
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function resolveHostRuntimeConfigFromEnv(args: {
|
|
75
|
+
env: EnvLike;
|
|
76
|
+
surface: HostRuntimeSurface;
|
|
77
|
+
workspaceBinding: HostRuntimeWorkspaceBinding;
|
|
78
|
+
}): HostRuntimeConfig {
|
|
79
|
+
return {
|
|
80
|
+
surface: args.surface,
|
|
81
|
+
workspaceBinding: args.workspaceBinding,
|
|
82
|
+
capabilities: resolveHostRuntimeCapabilitiesFromEnv(args.env, {
|
|
83
|
+
surface: args.surface,
|
|
84
|
+
}),
|
|
85
|
+
};
|
|
86
|
+
}
|
package/agent-runtime/index.ts
CHANGED
|
@@ -46,6 +46,12 @@ export {
|
|
|
46
46
|
formatPreparedGitTaskWorkspace,
|
|
47
47
|
prepareGitTaskWorkspace,
|
|
48
48
|
} from "./taskWorkspace";
|
|
49
|
+
export {
|
|
50
|
+
createHostRuntimeConfig,
|
|
51
|
+
createHostRuntimeCapabilities,
|
|
52
|
+
resolveHostRuntimeConfigFromEnv,
|
|
53
|
+
resolveHostRuntimeCapabilitiesFromEnv,
|
|
54
|
+
} from "./hostRuntimeConfig";
|
|
49
55
|
export {
|
|
50
56
|
executeLocalToolWithPolicy,
|
|
51
57
|
resolveLocalToolPolicy,
|
|
@@ -53,6 +59,7 @@ export {
|
|
|
53
59
|
export {
|
|
54
60
|
mergeAgentRuntimeToolPolicies,
|
|
55
61
|
normalizeAgentRuntimeToolPolicy,
|
|
62
|
+
resolveRequestedRuntimeToolNames,
|
|
56
63
|
resolveEffectiveRuntimeToolPolicy,
|
|
57
64
|
} from "./runtimeToolPolicy";
|
|
58
65
|
export {
|
|
@@ -86,6 +93,12 @@ export type {
|
|
|
86
93
|
export type {
|
|
87
94
|
PreparedGitTaskWorkspace,
|
|
88
95
|
} from "./taskWorkspace";
|
|
96
|
+
export type {
|
|
97
|
+
HostRuntimeConfig,
|
|
98
|
+
HostRuntimeCapabilities,
|
|
99
|
+
HostRuntimeSurface,
|
|
100
|
+
HostRuntimeWorkspaceBinding,
|
|
101
|
+
} from "./hostRuntimeConfig";
|
|
89
102
|
export type {
|
|
90
103
|
LocalToolPolicyDecision,
|
|
91
104
|
} from "./localToolPolicy";
|
|
@@ -2,6 +2,7 @@ import type {
|
|
|
2
2
|
AgentRuntimeToolCallInput,
|
|
3
3
|
AgentRuntimeToolResult,
|
|
4
4
|
} from "./types";
|
|
5
|
+
import type { HostRuntimeConfig } from "./hostRuntimeConfig";
|
|
5
6
|
|
|
6
7
|
type EnvLike = Record<string, string | undefined>;
|
|
7
8
|
|
|
@@ -48,10 +49,6 @@ function parseToolAllowlist(value: string | undefined) {
|
|
|
48
49
|
.filter(Boolean);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
function isLocalShellModeEnabled(env: EnvLike) {
|
|
52
|
-
return ["worktree", "dangerous", "1", "true"].includes(env.NOLO_LOCAL_SHELL_MODE || "");
|
|
53
|
-
}
|
|
54
|
-
|
|
55
52
|
function isRestrictedLocalToolMode(env: EnvLike) {
|
|
56
53
|
return env.NOLO_LOCAL_TOOL_MODE === "restricted";
|
|
57
54
|
}
|
|
@@ -69,18 +66,26 @@ function isToolDeclaredOrExplicitlyFree(args: {
|
|
|
69
66
|
|
|
70
67
|
export function resolveLocalToolPolicy(args: {
|
|
71
68
|
env: EnvLike;
|
|
69
|
+
hostRuntimeConfig?: HostRuntimeConfig;
|
|
72
70
|
agentToolNames?: string[];
|
|
73
71
|
toolName: string;
|
|
74
72
|
}): LocalToolPolicyDecision {
|
|
75
73
|
const restrictedMode = isRestrictedLocalToolMode(args.env);
|
|
76
74
|
if (args.toolName === "execShell") {
|
|
77
|
-
if (
|
|
75
|
+
if (!(args.agentToolNames ?? []).includes("execShell")) {
|
|
76
|
+
return {
|
|
77
|
+
allowed: false,
|
|
78
|
+
toolName: args.toolName,
|
|
79
|
+
reason: "execShell is not requested by this agent runtime.",
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (args.hostRuntimeConfig?.capabilities.allowShell === true) {
|
|
78
83
|
return { allowed: true, toolName: args.toolName };
|
|
79
84
|
}
|
|
80
85
|
return {
|
|
81
86
|
allowed: false,
|
|
82
87
|
toolName: args.toolName,
|
|
83
|
-
reason: "execShell requires
|
|
88
|
+
reason: "execShell requires host shell capability.",
|
|
84
89
|
};
|
|
85
90
|
}
|
|
86
91
|
|
|
@@ -123,12 +128,14 @@ export function resolveLocalToolPolicy(args: {
|
|
|
123
128
|
|
|
124
129
|
export async function executeLocalToolWithPolicy(args: {
|
|
125
130
|
env: EnvLike;
|
|
131
|
+
hostRuntimeConfig?: HostRuntimeConfig;
|
|
126
132
|
agentToolNames?: string[];
|
|
127
133
|
call: AgentRuntimeToolCallInput;
|
|
128
134
|
executors?: Record<string, (call: AgentRuntimeToolCallInput) => Promise<AgentRuntimeToolResult>>;
|
|
129
135
|
}): Promise<AgentRuntimeToolResult> {
|
|
130
136
|
const decision = resolveLocalToolPolicy({
|
|
131
137
|
env: args.env,
|
|
138
|
+
hostRuntimeConfig: args.hostRuntimeConfig,
|
|
132
139
|
agentToolNames: args.agentToolNames,
|
|
133
140
|
toolName: args.call.name,
|
|
134
141
|
});
|