@antelopejs/dms-ai 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/lifecycle/skill-sources.js +19 -146
- package/dist/lifecycle/skill-sources.js.map +1 -1
- package/dist/pages/settings/availability.js +8 -1
- package/dist/pages/settings/availability.js.map +1 -1
- package/dist/pages/settings/options.d.ts +2 -1
- package/dist/pages/settings/options.js +29 -8
- package/dist/pages/settings/options.js.map +1 -1
- package/dist/pages/settings/sections.js +25 -4
- package/dist/pages/settings/sections.js.map +1 -1
- package/dist/routes/builder.d.ts +3 -3
- package/dist/routes/builder.js +10 -2
- package/dist/routes/builder.js.map +1 -1
- package/dist/routes/settings.js +1 -1
- package/dist/routes/settings.js.map +1 -1
- package/dist/sidecar/settings-values.d.ts +3 -0
- package/dist/sidecar/settings-values.js +33 -1
- package/dist/sidecar/settings-values.js.map +1 -1
- package/dist/vocabulary/enumerations.js +2 -0
- package/dist/vocabulary/enumerations.js.map +1 -1
- package/dist/vocabulary/tools.js +3 -0
- package/dist/vocabulary/tools.js.map +1 -1
- package/frontend-vue/app/chat/components/ChatView.vue +53 -85
- package/frontend-vue/app/chat/components/Composer.vue +23 -39
- package/frontend-vue/app/chat/components/NoticeCard.vue +25 -0
- package/frontend-vue/app/chat/components/PanelHeader.vue +2 -6
- package/frontend-vue/app/chat/components/ProviderNotice.vue +14 -3
- package/frontend-vue/app/chat/composables/conversation-events.ts +4 -3
- package/frontend-vue/app/chat/composables/useConversation.ts +6 -0
- package/frontend-vue/app/chat/composables/useConversationMode.ts +8 -11
- package/frontend-vue/app/chat/composables/useFollowScroll.ts +77 -0
- package/frontend-vue/app/chat/constants/modes.ts +15 -0
- package/frontend-vue/app/chat/constants/protocol.ts +0 -1
- package/frontend-vue/app/chat/constants/settings.ts +1 -1
- package/frontend-vue/app/chat/types/protocol.ts +19 -9
- package/frontend-vue/app/chat/types/settings.ts +7 -2
- package/frontend-vue/app/chat/utils/permission-view.ts +1 -0
- package/frontend-vue/app/chat/utils/status-label.ts +50 -0
- package/frontend-vue/app/chat/utils/tool-lexicon.ts +16 -0
- package/frontend-vue/app/plugins/ai.client.ts +2 -2
- package/frontend-vue/app/runtime/assistant-actions.ts +4 -2
- package/frontend-vue/app/runtime/assistant-session.ts +5 -1
- package/frontend-vue/app/runtime/block-health.ts +135 -0
- package/frontend-vue/app/runtime/constants.ts +1 -0
- package/frontend-vue/app/runtime/navigation-complete.ts +47 -6
- package/frontend-vue/app/runtime/panel-intents.ts +6 -2
- package/frontend-vue/app/views/constants.ts +2 -0
- package/frontend-vue/app/views/types.ts +3 -1
- package/frontend-vue/i18n/locales/dms-ai-pages-en-GB.json +28 -11
- package/frontend-vue/i18n/locales/dms-ai-pages-fr-FR.json +28 -11
- package/frontend-vue/i18n/locales/dms-ai-panel-en-GB.json +17 -22
- package/frontend-vue/i18n/locales/dms-ai-panel-fr-FR.json +17 -22
- package/frontend-vue/i18n/locales/dms-ai-views-en-GB.json +2 -0
- package/frontend-vue/i18n/locales/dms-ai-views-fr-FR.json +2 -0
- package/frontend-vue/tests/assistant-actions.test.ts +37 -0
- package/frontend-vue/tests/block-health.test.ts +142 -0
- package/frontend-vue/tests/chat/chat-scroll.test.ts +251 -0
- package/frontend-vue/tests/chat/conversation-events.test.ts +35 -3
- package/frontend-vue/tests/chat/provider-notice.test.ts +33 -0
- package/frontend-vue/tests/chat/tool-lexicon.test.ts +1 -0
- package/frontend-vue/tests/chat-panel.test.ts +2 -4
- package/frontend-vue/tests/navigation.test.ts +67 -2
- package/frontend-vue/tests/panel-modes.test.ts +146 -0
- package/frontend-vue/tests/panel-questions.test.ts +1 -19
- package/frontend-vue/tests/panel-states.test.ts +3 -15
- package/frontend-vue/tests/support/fake-layout.ts +119 -0
- package/frontend-vue/tests/support/panel-harness.ts +16 -8
- package/frontend-vue/tests/support/setup-layout.ts +3 -0
- package/frontend-vue/tests/support/stubs.ts +2 -0
- package/frontend-vue/vitest.config.ts +1 -0
- package/package.json +6 -5
- package/sidecar/dist/agent/always-ask-files.d.ts +2 -0
- package/sidecar/dist/agent/always-ask-files.js +34 -0
- package/sidecar/dist/agent/always-ask-files.js.map +1 -0
- package/sidecar/dist/agent/conversation-modes.d.ts +3 -12
- package/sidecar/dist/agent/conversation-modes.js +16 -69
- package/sidecar/dist/agent/conversation-modes.js.map +1 -1
- package/sidecar/dist/agent/effective-mode.d.ts +2 -5
- package/sidecar/dist/agent/effective-mode.js +1 -15
- package/sidecar/dist/agent/effective-mode.js.map +1 -1
- package/sidecar/dist/agent/permission-bus.d.ts +1 -2
- package/sidecar/dist/agent/permission-bus.js +1 -3
- package/sidecar/dist/agent/permission-bus.js.map +1 -1
- package/sidecar/dist/agent/permission-preview.d.ts +6 -0
- package/sidecar/dist/agent/permission-preview.js +35 -10
- package/sidecar/dist/agent/permission-preview.js.map +1 -1
- package/sidecar/dist/agent/permission-rules.js +2 -2
- package/sidecar/dist/agent/permission-rules.js.map +1 -1
- package/sidecar/dist/agent/project-secrets.d.ts +7 -0
- package/sidecar/dist/agent/project-secrets.js +61 -0
- package/sidecar/dist/agent/project-secrets.js.map +1 -0
- package/sidecar/dist/agent/provider.d.ts +10 -4
- package/sidecar/dist/agent/runner.d.ts +8 -2
- package/sidecar/dist/agent/runner.js +11 -3
- package/sidecar/dist/agent/runner.js.map +1 -1
- package/sidecar/dist/agent/session.d.ts +3 -3
- package/sidecar/dist/agent/session.js.map +1 -1
- package/sidecar/dist/agent/tool-kinds.d.ts +7 -1
- package/sidecar/dist/agent/tool-kinds.js +24 -5
- package/sidecar/dist/agent/tool-kinds.js.map +1 -1
- package/sidecar/dist/audit/activity-query.js +2 -0
- package/sidecar/dist/audit/activity-query.js.map +1 -1
- package/sidecar/dist/audit/activity.js +1 -0
- package/sidecar/dist/audit/activity.js.map +1 -1
- package/sidecar/dist/builder/builder-client.js +14 -2
- package/sidecar/dist/builder/builder-client.js.map +1 -1
- package/sidecar/dist/constants/audit.d.ts +1 -3
- package/sidecar/dist/constants/audit.js +2 -1
- package/sidecar/dist/constants/audit.js.map +1 -1
- package/sidecar/dist/constants/builder.d.ts +5 -1
- package/sidecar/dist/constants/builder.js +15 -0
- package/sidecar/dist/constants/builder.js.map +1 -1
- package/sidecar/dist/constants/claude.d.ts +8 -0
- package/sidecar/dist/constants/claude.js +8 -0
- package/sidecar/dist/constants/claude.js.map +1 -1
- package/sidecar/dist/constants/codex.d.ts +4 -0
- package/sidecar/dist/constants/codex.js +4 -0
- package/sidecar/dist/constants/codex.js.map +1 -1
- package/sidecar/dist/constants/mcp.d.ts +1 -1
- package/sidecar/dist/constants/mcp.js +1 -1
- package/sidecar/dist/constants/mcp.js.map +1 -1
- package/sidecar/dist/constants/native-binary.d.ts +5 -2
- package/sidecar/dist/constants/native-binary.js +5 -2
- package/sidecar/dist/constants/native-binary.js.map +1 -1
- package/sidecar/dist/constants/permissions.d.ts +2 -0
- package/sidecar/dist/constants/permissions.js +23 -0
- package/sidecar/dist/constants/permissions.js.map +1 -1
- package/sidecar/dist/constants/project-secrets.d.ts +5 -0
- package/sidecar/dist/constants/project-secrets.js +20 -0
- package/sidecar/dist/constants/project-secrets.js.map +1 -0
- package/sidecar/dist/constants/providers.d.ts +2 -0
- package/sidecar/dist/constants/providers.js +1 -0
- package/sidecar/dist/constants/providers.js.map +1 -1
- package/sidecar/dist/constants/settings.d.ts +2 -2
- package/sidecar/dist/constants/settings.js +4 -9
- package/sidecar/dist/constants/settings.js.map +1 -1
- package/sidecar/dist/constants/timing.d.ts +1 -0
- package/sidecar/dist/constants/timing.js +1 -0
- package/sidecar/dist/constants/timing.js.map +1 -1
- package/sidecar/dist/constants/tool-kinds.d.ts +67 -2
- package/sidecar/dist/constants/tool-kinds.js +111 -33
- package/sidecar/dist/constants/tool-kinds.js.map +1 -1
- package/sidecar/dist/mcp/tools/builder-compose.d.ts +51 -0
- package/sidecar/dist/mcp/tools/builder-compose.js +96 -0
- package/sidecar/dist/mcp/tools/builder-compose.js.map +1 -0
- package/sidecar/dist/mcp/tools/builder-gate.js +3 -1
- package/sidecar/dist/mcp/tools/builder-gate.js.map +1 -1
- package/sidecar/dist/mcp/tools/builder-project.js +119 -4
- package/sidecar/dist/mcp/tools/builder-project.js.map +1 -1
- package/sidecar/dist/mcp/tools/builder-queries.d.ts +31 -0
- package/sidecar/dist/mcp/tools/builder-queries.js +30 -13
- package/sidecar/dist/mcp/tools/builder-queries.js.map +1 -1
- package/sidecar/dist/mcp/tools/builder-table-view-schema.d.ts +99 -0
- package/sidecar/dist/mcp/tools/builder-table-view-schema.js +118 -0
- package/sidecar/dist/mcp/tools/builder-table-view-schema.js.map +1 -0
- package/sidecar/dist/mcp/tools/builder-table-view.d.ts +102 -0
- package/sidecar/dist/mcp/tools/builder-table-view.js +24 -0
- package/sidecar/dist/mcp/tools/builder-table-view.js.map +1 -0
- package/sidecar/dist/mcp/tools/builder.d.ts +135 -1
- package/sidecar/dist/mcp/tools/builder.js +17 -4
- package/sidecar/dist/mcp/tools/builder.js.map +1 -1
- package/sidecar/dist/mcp/tools/navigate-to-page.js +12 -4
- package/sidecar/dist/mcp/tools/navigate-to-page.js.map +1 -1
- package/sidecar/dist/pages/block-health.d.ts +14 -0
- package/sidecar/dist/pages/block-health.js +60 -0
- package/sidecar/dist/pages/block-health.js.map +1 -0
- package/sidecar/dist/prompts/agent.d.ts +1 -1
- package/sidecar/dist/prompts/agent.js +4 -3
- package/sidecar/dist/prompts/agent.js.map +1 -1
- package/sidecar/dist/protocol/events.d.ts +140 -63
- package/sidecar/dist/protocol/events.js +24 -8
- package/sidecar/dist/protocol/events.js.map +1 -1
- package/sidecar/dist/protocol/messages.d.ts +111 -49
- package/sidecar/dist/protocol/messages.js +30 -13
- package/sidecar/dist/protocol/messages.js.map +1 -1
- package/sidecar/dist/providers/claude/config.d.ts +19 -5
- package/sidecar/dist/providers/claude/config.js +21 -7
- package/sidecar/dist/providers/claude/config.js.map +1 -1
- package/sidecar/dist/providers/claude/model-fallback.d.ts +9 -0
- package/sidecar/dist/providers/claude/model-fallback.js +37 -0
- package/sidecar/dist/providers/claude/model-fallback.js.map +1 -0
- package/sidecar/dist/providers/claude/provider.js +35 -40
- package/sidecar/dist/providers/claude/provider.js.map +1 -1
- package/sidecar/dist/providers/claude/resolve-binary.js +18 -13
- package/sidecar/dist/providers/claude/resolve-binary.js.map +1 -1
- package/sidecar/dist/providers/claude/safe-mode.d.ts +5 -5
- package/sidecar/dist/providers/claude/safe-mode.js +49 -30
- package/sidecar/dist/providers/claude/safe-mode.js.map +1 -1
- package/sidecar/dist/providers/claude/secret-files.d.ts +2 -0
- package/sidecar/dist/providers/claude/secret-files.js +50 -0
- package/sidecar/dist/providers/claude/secret-files.js.map +1 -0
- package/sidecar/dist/providers/claude/session-stream.d.ts +18 -0
- package/sidecar/dist/providers/claude/session-stream.js +80 -0
- package/sidecar/dist/providers/claude/session-stream.js.map +1 -0
- package/sidecar/dist/providers/claude/tool-guard.d.ts +14 -0
- package/sidecar/dist/providers/claude/tool-guard.js +112 -0
- package/sidecar/dist/providers/claude/tool-guard.js.map +1 -0
- package/sidecar/dist/providers/codex/adapter.d.ts +10 -0
- package/sidecar/dist/providers/codex/adapter.js +20 -5
- package/sidecar/dist/providers/codex/adapter.js.map +1 -1
- package/sidecar/dist/providers/codex/config.d.ts +6 -17
- package/sidecar/dist/providers/codex/config.js +9 -56
- package/sidecar/dist/providers/codex/config.js.map +1 -1
- package/sidecar/dist/providers/codex/mcp-elicitation.d.ts +21 -0
- package/sidecar/dist/providers/codex/mcp-elicitation.js +66 -0
- package/sidecar/dist/providers/codex/mcp-elicitation.js.map +1 -0
- package/sidecar/dist/providers/codex/module.js +1 -1
- package/sidecar/dist/providers/codex/module.js.map +1 -1
- package/sidecar/dist/providers/codex/patch-directories.d.ts +6 -0
- package/sidecar/dist/providers/codex/patch-directories.js +53 -0
- package/sidecar/dist/providers/codex/patch-directories.js.map +1 -0
- package/sidecar/dist/providers/codex/permission-profiles.d.ts +11 -0
- package/sidecar/dist/providers/codex/permission-profiles.js +37 -0
- package/sidecar/dist/providers/codex/permission-profiles.js.map +1 -0
- package/sidecar/dist/providers/codex/permissions.d.ts +13 -4
- package/sidecar/dist/providers/codex/permissions.js +28 -2
- package/sidecar/dist/providers/codex/permissions.js.map +1 -1
- package/sidecar/dist/providers/codex/process.d.ts +1 -0
- package/sidecar/dist/providers/codex/process.js +3 -1
- package/sidecar/dist/providers/codex/process.js.map +1 -1
- package/sidecar/dist/providers/codex/protocol/common.d.ts +16 -4
- package/sidecar/dist/providers/codex/protocol/index.d.ts +2 -2
- package/sidecar/dist/providers/codex/protocol/index.js +1 -1
- package/sidecar/dist/providers/codex/protocol/index.js.map +1 -1
- package/sidecar/dist/providers/codex/protocol/v2.d.ts +23 -32
- package/sidecar/dist/providers/codex/provider.js +13 -12
- package/sidecar/dist/providers/codex/provider.js.map +1 -1
- package/sidecar/dist/providers/codex/secret-file-globs.d.ts +2 -0
- package/sidecar/dist/providers/codex/secret-file-globs.js +45 -0
- package/sidecar/dist/providers/codex/secret-file-globs.js.map +1 -0
- package/sidecar/dist/providers/types.d.ts +3 -1
- package/sidecar/dist/providers/types.js +2 -2
- package/sidecar/dist/providers/types.js.map +1 -1
- package/sidecar/dist/server/chat-events.js +1 -0
- package/sidecar/dist/server/chat-events.js.map +1 -1
- package/sidecar/dist/server/http-routes.js +1 -1
- package/sidecar/dist/server/http-routes.js.map +1 -1
- package/sidecar/dist/server/navigation-completer.d.ts +15 -2
- package/sidecar/dist/server/navigation-completer.js +42 -41
- package/sidecar/dist/server/navigation-completer.js.map +1 -1
- package/sidecar/dist/server/permission-events.d.ts +1 -1
- package/sidecar/dist/server/permission-events.js +5 -8
- package/sidecar/dist/server/permission-events.js.map +1 -1
- package/sidecar/dist/server/routing.js +11 -6
- package/sidecar/dist/server/routing.js.map +1 -1
- package/sidecar/dist/server/tool-calls.d.ts +0 -2
- package/sidecar/dist/server/tool-calls.js +7 -8
- package/sidecar/dist/server/tool-calls.js.map +1 -1
- package/sidecar/dist/server/turns.js +17 -1
- package/sidecar/dist/server/turns.js.map +1 -1
- package/sidecar/dist/server/ws.js +4 -15
- package/sidecar/dist/server/ws.js.map +1 -1
- package/sidecar/dist/skills/skill-usage.js +2 -2
- package/sidecar/dist/skills/skill-usage.js.map +1 -1
- package/sidecar/dist/state/conversations.d.ts +1 -0
- package/sidecar/dist/state/conversations.js +8 -0
- package/sidecar/dist/state/conversations.js.map +1 -1
- package/sidecar/dist/state/settings-store.d.ts +14 -5
- package/sidecar/dist/state/settings-store.js +34 -8
- package/sidecar/dist/state/settings-store.js.map +1 -1
- package/sidecar/dist/state/settings-types.d.ts +16 -2
- package/sidecar/dist/state/settings-types.js +14 -1
- package/sidecar/dist/state/settings-types.js.map +1 -1
- package/sidecar/dist/state/types.d.ts +14 -6
- package/sidecar/dist/state/types.js.map +1 -1
- package/sidecar/package.json +3 -3
- package/skills/dms-ai/SKILL.md +2 -1
- package/skills/dms-builder-safe/REFERENCE.md +5 -6
- package/skills/dms-builder-safe/SKILL.md +12 -10
- package/skills/dms-external-database/REFERENCE.md +20 -8
- package/skills/dms-external-database/SKILL.md +69 -20
- package/skills/dms-page-design/SKILL.md +192 -0
- package/skills/dms-page-design/cases.json +57 -0
- package/frontend-vue/app/chat/components/FullAutoBanner.vue +0 -76
- package/frontend-vue/app/chat/components/FullAutoDialog.vue +0 -103
|
@@ -5,28 +5,25 @@ import { isAutoAllowedRead, resolveReadRoots, } from "../../agent/read-access.js
|
|
|
5
5
|
import { isMutatingBuilderTool } from "../../agent/tool-kinds.js";
|
|
6
6
|
import { createAgentSession, } from "../../agent/session.js";
|
|
7
7
|
import { buildSystemPrompt } from "../../agent/system-prompt.js";
|
|
8
|
-
import { effectiveGenerationMode } from "../../builder/capability.js";
|
|
9
8
|
import { TURN_IDLE_TIMEOUT_MS } from "../../constants/agent.js";
|
|
10
9
|
import { SDK_INCLUDE_PARTIAL_MESSAGES, SDK_SETTING_SOURCES_ISOLATED, SKILL_PLUGIN_WRAPPER_DIR, SYSTEM_PROMPT_PRESET_NAME, SYSTEM_PROMPT_PRESET_TYPE, } from "../../constants/claude.js";
|
|
11
|
-
import { ASK_USER_QUESTION_BUILTIN_TOOL_NAME, ASK_USER_QUESTION_REDIRECT_MESSAGE,
|
|
10
|
+
import { ASK_USER_QUESTION_BUILTIN_TOOL_NAME, ASK_USER_QUESTION_REDIRECT_MESSAGE, MCP_SERVER_KEY, } from "../../constants/mcp.js";
|
|
12
11
|
import { STATE_DIR_SEGMENTS } from "../../constants/paths.js";
|
|
13
12
|
import { SDK_PERMISSION_BEHAVIOR } from "../../constants/permissions.js";
|
|
14
13
|
import { readProjectInfo } from "../../host/project-info.js";
|
|
15
14
|
import { buildSkillCatalog } from "../../skills/build-catalog.js";
|
|
16
15
|
import { ensurePluginWrapper } from "../../skills/plugin-wrapper.js";
|
|
17
16
|
import { resolveSkillSources } from "../../skills/resolve-sources.js";
|
|
18
|
-
import { extractTokenUsage, messageToEvents } from "./adapter.js";
|
|
19
17
|
import { buildTurnContent } from "./attachments.js";
|
|
20
|
-
import {
|
|
18
|
+
import { isFirstPartyMcpTool } from "./tool-guard.js";
|
|
19
|
+
import { buildClaudeEnv, resolvePermissionMode, resolveModelOptions, } from "./config.js";
|
|
21
20
|
import { createInputQueue } from "./input-queue.js";
|
|
21
|
+
import { createModelTrack } from "./model-fallback.js";
|
|
22
22
|
import { resolveClaudeBinary } from "./resolve-binary.js";
|
|
23
23
|
import { buildSafeModeHooks } from "./safe-mode.js";
|
|
24
|
+
import { withSecretFileGuard } from "./secret-files.js";
|
|
25
|
+
import { toRunnerEvents, } from "./session-stream.js";
|
|
24
26
|
import { loadSdk } from "./sdk-loader.js";
|
|
25
|
-
function buildThinkingConfig(settings) {
|
|
26
|
-
if (settings.thinking === "off")
|
|
27
|
-
return { type: "disabled" };
|
|
28
|
-
return { type: "enabled", budgetTokens: THINKING_TOKENS[settings.thinking] };
|
|
29
|
-
}
|
|
30
27
|
function buildBasePromptOptions(input) {
|
|
31
28
|
const base = {
|
|
32
29
|
systemPrompt: {
|
|
@@ -37,10 +34,10 @@ function buildBasePromptOptions(input) {
|
|
|
37
34
|
settingSources: SDK_SETTING_SOURCES_ISOLATED,
|
|
38
35
|
includePartialMessages: SDK_INCLUDE_PARTIAL_MESSAGES,
|
|
39
36
|
permissionMode: resolvePermissionMode(input.settings),
|
|
40
|
-
hooks: input.hooks,
|
|
41
|
-
|
|
37
|
+
hooks: withSecretFileGuard(input.hooks),
|
|
38
|
+
...resolveModelOptions(input.settings),
|
|
42
39
|
abortController: input.abortController,
|
|
43
|
-
env: buildClaudeEnv(process.env),
|
|
40
|
+
env: buildClaudeEnv(process.env, input.hostProjectRoot),
|
|
44
41
|
};
|
|
45
42
|
const claudeBinary = resolveClaudeBinary();
|
|
46
43
|
if (claudeBinary === undefined)
|
|
@@ -106,9 +103,6 @@ export async function bridgeCanUseTool(bus, conversationId, toolName, input, cal
|
|
|
106
103
|
});
|
|
107
104
|
return outcome.isAllowed ? buildAllowResult(input) : buildDenyResult(outcome);
|
|
108
105
|
}
|
|
109
|
-
function isFirstPartyMcpTool(toolName) {
|
|
110
|
-
return FIRST_PARTY_AUTO_ALLOW_TOOL_NAMES.has(toolName);
|
|
111
|
-
}
|
|
112
106
|
function buildAskUserRedirectResult() {
|
|
113
107
|
return {
|
|
114
108
|
behavior: SDK_PERMISSION_BEHAVIOR.DENY,
|
|
@@ -139,18 +133,11 @@ function buildCanUseTool(deps) {
|
|
|
139
133
|
return bridgeCanUseTool(deps.bus, ctx.conversationId, toolName, input, callId);
|
|
140
134
|
};
|
|
141
135
|
}
|
|
142
|
-
function resolveCanUseTool(ctx,
|
|
136
|
+
function resolveCanUseTool(ctx, readRoots) {
|
|
143
137
|
if (ctx.permissionBus === undefined)
|
|
144
138
|
return undefined;
|
|
145
|
-
const readRoots = resolveReadRoots(ctx.hostProjectRoot, [
|
|
146
|
-
...moduleRoots,
|
|
147
|
-
...skillRoots,
|
|
148
|
-
]);
|
|
149
139
|
return buildCanUseTool({ bus: ctx.permissionBus, ctx, readRoots });
|
|
150
140
|
}
|
|
151
|
-
function activeGenerationMode(live) {
|
|
152
|
-
return effectiveGenerationMode(live.settings.generationMode);
|
|
153
|
-
}
|
|
154
141
|
async function loadSharedSdk(config) {
|
|
155
142
|
if (config.sdk !== undefined)
|
|
156
143
|
return config.sdk;
|
|
@@ -173,31 +160,30 @@ function buildUserMessage(content) {
|
|
|
173
160
|
session_id: "",
|
|
174
161
|
};
|
|
175
162
|
}
|
|
176
|
-
async function* toRunnerEvents(output, onTokenUsage) {
|
|
177
|
-
while (true) {
|
|
178
|
-
const result = await output.next();
|
|
179
|
-
if (result.done)
|
|
180
|
-
return;
|
|
181
|
-
const usage = extractTokenUsage(result.value);
|
|
182
|
-
if (usage !== null)
|
|
183
|
-
onTokenUsage?.(usage);
|
|
184
|
-
yield* messageToEvents(result.value);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
163
|
async function submitTurn(backend, input) {
|
|
188
164
|
const content = await buildTurnContent(input.text, input.attachments, {
|
|
189
165
|
hostProjectRoot: backend.hostProjectRoot,
|
|
190
166
|
conversationId: backend.conversationId,
|
|
191
167
|
});
|
|
192
|
-
|
|
168
|
+
const message = buildUserMessage(content);
|
|
169
|
+
backend.lastTurn = message;
|
|
170
|
+
backend.queue.push(message);
|
|
193
171
|
}
|
|
194
172
|
function applyBackendSettings(backend, settings) {
|
|
195
173
|
backend.live.settings = settings;
|
|
174
|
+
const { model, effort } = resolveModelOptions(settings);
|
|
175
|
+
if (backend.model.refused !== model) {
|
|
176
|
+
backend.model.refused = null;
|
|
177
|
+
void backend.output.setModel(model).catch(() => undefined);
|
|
178
|
+
}
|
|
196
179
|
void backend.output
|
|
197
180
|
.setPermissionMode(resolvePermissionMode(settings))
|
|
198
181
|
.catch(() => undefined);
|
|
199
182
|
void backend.output
|
|
200
|
-
.
|
|
183
|
+
.applyFlagSettings({ effortLevel: effort ?? null })
|
|
184
|
+
.catch(() => undefined);
|
|
185
|
+
void backend.output
|
|
186
|
+
.setMaxThinkingTokens(effort === undefined ? 0 : null)
|
|
201
187
|
.catch(() => undefined);
|
|
202
188
|
}
|
|
203
189
|
function buildSessionControls(backend) {
|
|
@@ -219,18 +205,25 @@ async function* runTurn(state, input, settings) {
|
|
|
219
205
|
}
|
|
220
206
|
async function buildSessionOptions(config, ctx, live, abortController) {
|
|
221
207
|
const skillSources = resolveSkillSources(config.skillDirs, ctx.settings.allowLocalSkills, os.homedir());
|
|
208
|
+
const readRoots = resolveReadRoots(ctx.hostProjectRoot, [
|
|
209
|
+
...config.moduleRoots,
|
|
210
|
+
...skillSources.map((s) => s.dir),
|
|
211
|
+
]);
|
|
222
212
|
return buildPromptOptions({
|
|
223
213
|
systemPrompt: await buildSessionPrompt(ctx),
|
|
224
214
|
hooks: buildSafeModeHooks({
|
|
225
|
-
|
|
226
|
-
|
|
215
|
+
getSettings: () => live.settings,
|
|
216
|
+
readRoots,
|
|
217
|
+
hostProjectRoot: ctx.hostProjectRoot,
|
|
218
|
+
onToolDecision: ctx.onToolDecision,
|
|
227
219
|
beforeMutation: ctx.beforeMutation,
|
|
228
220
|
}),
|
|
229
|
-
canUseTool: resolveCanUseTool(ctx,
|
|
221
|
+
canUseTool: resolveCanUseTool(ctx, readRoots),
|
|
230
222
|
mcpServer: ctx.mcpServer,
|
|
231
223
|
settings: ctx.settings,
|
|
232
224
|
abortController,
|
|
233
225
|
skillLoadout: await buildSkillLoadout(skillSources, ctx.hostProjectRoot),
|
|
226
|
+
hostProjectRoot: ctx.hostProjectRoot,
|
|
234
227
|
});
|
|
235
228
|
}
|
|
236
229
|
async function createProviderSession(config, ctx) {
|
|
@@ -245,10 +238,12 @@ async function createProviderSession(config, ctx) {
|
|
|
245
238
|
live,
|
|
246
239
|
hostProjectRoot: ctx.hostProjectRoot,
|
|
247
240
|
conversationId: ctx.conversationId,
|
|
241
|
+
lastTurn: null,
|
|
242
|
+
model: createModelTrack(),
|
|
248
243
|
};
|
|
249
244
|
const state = {
|
|
250
245
|
session: createAgentSession({
|
|
251
|
-
events: toRunnerEvents(backend
|
|
246
|
+
events: toRunnerEvents(backend, ctx),
|
|
252
247
|
controls: buildSessionControls(backend),
|
|
253
248
|
abortController,
|
|
254
249
|
onDisposed: ctx.onDisposed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/claude/provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/claude/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import {
|
|
4
|
-
import { CLAUDE_BINARY_SUBPATH, PLATFORM_LINUX, SDK_NATIVE_LINUX_PREFIX, SDK_NATIVE_MUSL_SUFFIX, } from "../../constants/native-binary.js";
|
|
3
|
+
import { CLAUDE_BINARY_SUBPATH, CLAUDE_CODE_NATIVE_PREFIX, CLAUDE_CODE_PACKAGE, CLAUDE_WINDOWS_BINARY_SUBPATH, NATIVE_MUSL_SUFFIX, PLATFORM_LINUX, PLATFORM_WINDOWS, } from "../../constants/native-binary.js";
|
|
5
4
|
const nodeReportSchema = z.object({
|
|
6
5
|
header: z.object({ glibcVersionRuntime: z.string().optional() }).optional(),
|
|
7
6
|
});
|
|
@@ -9,27 +8,33 @@ function isGnuLibc() {
|
|
|
9
8
|
const report = nodeReportSchema.safeParse(process.report?.getReport());
|
|
10
9
|
return report.data?.header?.glibcVersionRuntime !== undefined;
|
|
11
10
|
}
|
|
12
|
-
function nativePackageOrder(arch) {
|
|
13
|
-
const base = `${
|
|
14
|
-
|
|
11
|
+
function nativePackageOrder(platform, arch) {
|
|
12
|
+
const base = `${CLAUDE_CODE_NATIVE_PREFIX}${platform}-${arch}`;
|
|
13
|
+
if (platform !== PLATFORM_LINUX)
|
|
14
|
+
return [base];
|
|
15
|
+
const musl = `${base}${NATIVE_MUSL_SUFFIX}`;
|
|
15
16
|
return isGnuLibc() ? [base, musl] : [musl, base];
|
|
16
17
|
}
|
|
17
|
-
function
|
|
18
|
+
function binarySubpath(platform) {
|
|
19
|
+
return platform === PLATFORM_WINDOWS
|
|
20
|
+
? CLAUDE_WINDOWS_BINARY_SUBPATH
|
|
21
|
+
: CLAUDE_BINARY_SUBPATH;
|
|
22
|
+
}
|
|
23
|
+
function resolveFromClaudeCode(packageName, platform) {
|
|
18
24
|
try {
|
|
19
25
|
const requireFromHere = createRequire(import.meta.url);
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
return
|
|
26
|
+
const claudeCodeEntry = requireFromHere.resolve(`${CLAUDE_CODE_PACKAGE}/package.json`);
|
|
27
|
+
const requireFromClaudeCode = createRequire(claudeCodeEntry);
|
|
28
|
+
return requireFromClaudeCode.resolve(`${packageName}${binarySubpath(platform)}`);
|
|
23
29
|
}
|
|
24
30
|
catch {
|
|
25
31
|
return undefined;
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
34
|
function computeClaudeBinary() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const resolved = resolveFromSdk(packageName);
|
|
35
|
+
const { platform, arch } = process;
|
|
36
|
+
for (const packageName of nativePackageOrder(platform, arch)) {
|
|
37
|
+
const resolved = resolveFromClaudeCode(packageName, platform);
|
|
33
38
|
if (resolved !== undefined)
|
|
34
39
|
return resolved;
|
|
35
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-binary.js","sourceRoot":"","sources":["../../../src/providers/claude/resolve-binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve-binary.js","sourceRoot":"","sources":["../../../src/providers/claude/resolve-binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC5E,CAAC,CAAC;AAEH,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,KAAK,SAAS,CAAC;AAChE,CAAC;AAGD,SAAS,kBAAkB,CAAC,QAAgB,EAAE,IAAY;IACxD,MAAM,IAAI,GAAG,GAAG,yBAAyB,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IAC/D,IAAI,QAAQ,KAAK,cAAc;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAC5C,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,QAAQ,KAAK,gBAAgB;QAClC,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,qBAAqB,CAAC;AAC5B,CAAC;AAOD,SAAS,qBAAqB,CAC5B,WAAmB,EACnB,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,eAAe,CAAC,OAAO,CAC7C,GAAG,mBAAmB,eAAe,CACtC,CAAC;QACF,MAAM,qBAAqB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;QAC7D,OAAO,qBAAqB,CAAC,OAAO,CAClC,GAAG,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,CAC3C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACnC,KAAK,MAAM,WAAW,IAAI,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,IAAI,MAAM,GAAyC,IAAI,CAAC;AAOxD,MAAM,UAAU,mBAAmB;IACjC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IACzC,MAAM,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC;IAC1C,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { HookCallbackMatcher, HookEvent } from "@anthropic-ai/claude-agent-sdk";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ToolCallHooks } from "../../agent/provider.js";
|
|
3
|
+
import type { TurnSettings } from "../../state/settings-types.js";
|
|
4
|
+
import { type GuardScope } from "./tool-guard.js";
|
|
3
5
|
export type SdkHooks = Partial<Record<HookEvent, HookCallbackMatcher[]>>;
|
|
4
|
-
export interface PreToolUseDeps {
|
|
5
|
-
|
|
6
|
-
onBlocked?: (callId: string, toolName: string) => void;
|
|
7
|
-
beforeMutation?: () => Promise<void>;
|
|
6
|
+
export interface PreToolUseDeps extends Omit<GuardScope, "settings">, Pick<ToolCallHooks, "onToolDecision" | "beforeMutation"> {
|
|
7
|
+
getSettings: () => TurnSettings;
|
|
8
8
|
}
|
|
9
9
|
export declare function buildSafeModeHooks(deps: PreToolUseDeps): SdkHooks;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { PRE_TOOL_USE_HOOK_EVENT } from "../../constants/claude.js";
|
|
1
|
+
import { CLAUDE_AUTO_PERMISSION_MODE, HOOK_ASK_DECISION, PRE_TOOL_USE_HOOK_EVENT, } from "../../constants/claude.js";
|
|
2
2
|
import { SDK_PERMISSION_BEHAVIOR } from "../../constants/permissions.js";
|
|
3
|
-
import { SAFE_MODE_DENIED_MESSAGE
|
|
4
|
-
import { homedir } from "node:os";
|
|
3
|
+
import { SAFE_MODE_DENIED_MESSAGE } from "../../constants/settings.js";
|
|
5
4
|
import { z } from "zod";
|
|
6
|
-
import {
|
|
7
|
-
import { isMutatingTool } from "../../agent/tool-kinds.js";
|
|
8
|
-
|
|
5
|
+
import { ToolArgsSchema } from "../../agent/edit-targets.js";
|
|
6
|
+
import { isMutatingTool, isWebTool } from "../../agent/tool-kinds.js";
|
|
7
|
+
import { effectiveGenerationMode } from "../../builder/capability.js";
|
|
8
|
+
import { isHostDecided, runsInSafeScope, } from "./tool-guard.js";
|
|
9
9
|
const SAFE_MODE_DENIAL = {
|
|
10
10
|
hookSpecificOutput: {
|
|
11
11
|
hookEventName: PRE_TOOL_USE_HOOK_EVENT,
|
|
@@ -13,40 +13,59 @@ const SAFE_MODE_DENIAL = {
|
|
|
13
13
|
permissionDecisionReason: SAFE_MODE_DENIED_MESSAGE,
|
|
14
14
|
},
|
|
15
15
|
};
|
|
16
|
+
const HOST_DECISION = {
|
|
17
|
+
hookSpecificOutput: {
|
|
18
|
+
hookEventName: PRE_TOOL_USE_HOOK_EVENT,
|
|
19
|
+
permissionDecision: HOOK_ASK_DECISION,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
16
22
|
const NO_DECISION = { continue: true };
|
|
17
|
-
const PLANS_DIRECTORY = join(homedir(), ".claude", "plans");
|
|
18
|
-
const fileToolCallSchema = z.object({
|
|
19
|
-
tool_input: z.object({ file_path: z.string() }),
|
|
20
|
-
});
|
|
21
23
|
const preToolUseInputSchema = z.object({
|
|
22
|
-
tool_name: z.string().
|
|
23
|
-
tool_use_id: z.string().
|
|
24
|
+
tool_name: z.string().catch(""),
|
|
25
|
+
tool_use_id: z.string().catch(""),
|
|
26
|
+
tool_input: ToolArgsSchema,
|
|
27
|
+
permission_mode: z.string().optional().catch(undefined),
|
|
24
28
|
});
|
|
25
|
-
function
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return false;
|
|
32
|
-
const inside = relative(PLANS_DIRECTORY, filePath);
|
|
33
|
-
return inside.length > 0 && !inside.startsWith("..") && !isAbsolute(inside);
|
|
29
|
+
function isAutoReviewOrUnstated(call) {
|
|
30
|
+
return (call.permission_mode === undefined ||
|
|
31
|
+
call.permission_mode === CLAUDE_AUTO_PERMISSION_MODE);
|
|
32
|
+
}
|
|
33
|
+
function isAskedInAskFirst(toolName) {
|
|
34
|
+
return isMutatingTool(toolName) || isWebTool(toolName);
|
|
34
35
|
}
|
|
35
|
-
function
|
|
36
|
-
if (
|
|
37
|
-
return
|
|
38
|
-
|
|
36
|
+
function decideByMode(deps, call, guarded, scope) {
|
|
37
|
+
if (isHostDecided(guarded, scope, call.permission_mode))
|
|
38
|
+
return HOST_DECISION;
|
|
39
|
+
if (isAutoReviewOrUnstated(call) && isAskedInAskFirst(call.tool_name)) {
|
|
40
|
+
deps.onToolDecision?.({
|
|
41
|
+
callId: call.tool_use_id,
|
|
42
|
+
toolName: call.tool_name,
|
|
43
|
+
allowedBy: "auto_approved",
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return NO_DECISION;
|
|
39
47
|
}
|
|
40
48
|
export function buildSafeModeHooks(deps) {
|
|
41
49
|
const preToolUse = async (input) => {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
deps.
|
|
50
|
+
const call = preToolUseInputSchema.parse(input);
|
|
51
|
+
const scope = {
|
|
52
|
+
readRoots: deps.readRoots,
|
|
53
|
+
hostProjectRoot: deps.hostProjectRoot,
|
|
54
|
+
settings: deps.getSettings(),
|
|
55
|
+
};
|
|
56
|
+
const guarded = { toolName: call.tool_name, args: call.tool_input };
|
|
57
|
+
if (effectiveGenerationMode(scope.settings.generationMode) === "safe" &&
|
|
58
|
+
!runsInSafeScope(guarded, scope)) {
|
|
59
|
+
deps.onToolDecision?.({
|
|
60
|
+
callId: call.tool_use_id,
|
|
61
|
+
toolName: call.tool_name,
|
|
62
|
+
allowedBy: "blocked",
|
|
63
|
+
});
|
|
45
64
|
return SAFE_MODE_DENIAL;
|
|
46
65
|
}
|
|
47
|
-
if (isMutatingTool(
|
|
66
|
+
if (isMutatingTool(call.tool_name))
|
|
48
67
|
await deps.beforeMutation?.();
|
|
49
|
-
return
|
|
68
|
+
return decideByMode(deps, call, guarded, scope);
|
|
50
69
|
};
|
|
51
70
|
return { [PRE_TOOL_USE_HOOK_EVENT]: [{ hooks: [preToolUse] }] };
|
|
52
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-mode.js","sourceRoot":"","sources":["../../../src/providers/claude/safe-mode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"safe-mode.js","sourceRoot":"","sources":["../../../src/providers/claude/safe-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { reachesSecretFile } from "../../agent/project-secrets.js";
|
|
3
|
+
import { PRE_TOOL_USE_HOOK_EVENT } from "../../constants/claude.js";
|
|
4
|
+
import { SDK_PERMISSION_BEHAVIOR } from "../../constants/permissions.js";
|
|
5
|
+
import { SECRET_FILE_DENIED_MESSAGE } from "../../constants/project-secrets.js";
|
|
6
|
+
const SECRET_FILE_DENIAL = {
|
|
7
|
+
hookSpecificOutput: {
|
|
8
|
+
hookEventName: PRE_TOOL_USE_HOOK_EVENT,
|
|
9
|
+
permissionDecision: SDK_PERMISSION_BEHAVIOR.DENY,
|
|
10
|
+
permissionDecisionReason: SECRET_FILE_DENIED_MESSAGE,
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
const NO_DECISION = { continue: true };
|
|
14
|
+
const optionalString = z.string().optional().catch(undefined);
|
|
15
|
+
const toolCallSchema = z.object({
|
|
16
|
+
cwd: optionalString,
|
|
17
|
+
tool_input: z
|
|
18
|
+
.looseObject({
|
|
19
|
+
file_path: optionalString,
|
|
20
|
+
path: optionalString,
|
|
21
|
+
notebook_path: optionalString,
|
|
22
|
+
})
|
|
23
|
+
.default({}),
|
|
24
|
+
});
|
|
25
|
+
async function reachesSecret({ cwd, tool_input }) {
|
|
26
|
+
const paths = [
|
|
27
|
+
tool_input.file_path,
|
|
28
|
+
tool_input.path,
|
|
29
|
+
tool_input.notebook_path,
|
|
30
|
+
];
|
|
31
|
+
const checks = paths.map(async (path) => path !== undefined &&
|
|
32
|
+
(await reachesSecretFile(path, cwd ?? process.cwd())));
|
|
33
|
+
return (await Promise.all(checks)).some(Boolean);
|
|
34
|
+
}
|
|
35
|
+
export function withSecretFileGuard(hooks) {
|
|
36
|
+
const guard = async (input) => {
|
|
37
|
+
const parsed = toolCallSchema.safeParse(input);
|
|
38
|
+
return parsed.success && (await reachesSecret(parsed.data))
|
|
39
|
+
? SECRET_FILE_DENIAL
|
|
40
|
+
: NO_DECISION;
|
|
41
|
+
};
|
|
42
|
+
return {
|
|
43
|
+
...hooks,
|
|
44
|
+
[PRE_TOOL_USE_HOOK_EVENT]: [
|
|
45
|
+
...(hooks[PRE_TOOL_USE_HOOK_EVENT] ?? []),
|
|
46
|
+
{ hooks: [guard] },
|
|
47
|
+
],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=secret-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-files.js","sourceRoot":"","sources":["../../../src/providers/claude/secret-files.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,MAAM,kBAAkB,GAAuB;IAC7C,kBAAkB,EAAE;QAClB,aAAa,EAAE,uBAAuB;QACtC,kBAAkB,EAAE,uBAAuB,CAAC,IAAI;QAChD,wBAAwB,EAAE,0BAA0B;KACrD;CACF,CAAC;AAEF,MAAM,WAAW,GAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAE3D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE9D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,cAAc;IACnB,UAAU,EAAE,CAAC;SACV,WAAW,CAAC;QACX,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,cAAc;QACpB,aAAa,EAAE,cAAc;KAC9B,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;CACf,CAAC,CAAC;AAIH,KAAK,UAAU,aAAa,CAAC,EAAE,GAAG,EAAE,UAAU,EAAY;IACxD,MAAM,KAAK,GAAG;QACZ,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,IAAI;QACf,UAAU,CAAC,aAAa;KACzB,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CACtB,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,IAAI,KAAK,SAAS;QAClB,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CACxD,CAAC;IACF,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC;AAQD,MAAM,UAAU,mBAAmB,CAAC,KAAe;IACjD,MAAM,KAAK,GAAiB,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzD,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,WAAW,CAAC;IAClB,CAAC,CAAC;IACF,OAAO;QACL,GAAG,KAAK;QACR,CAAC,uBAAuB,CAAC,EAAE;YACzB,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;YACzC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;SACnB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Query, SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
2
|
+
import type { ProviderSessionContext } from "../../agent/provider.js";
|
|
3
|
+
import type { RunnerEvent } from "../../agent/runner-events.js";
|
|
4
|
+
import type { TurnSettings } from "../../state/settings-types.js";
|
|
5
|
+
import type { InputQueue } from "./input-queue.js";
|
|
6
|
+
import { type ModelTrack } from "./model-fallback.js";
|
|
7
|
+
export interface LiveSettings {
|
|
8
|
+
settings: TurnSettings;
|
|
9
|
+
}
|
|
10
|
+
export interface StreamBackend {
|
|
11
|
+
output: Query;
|
|
12
|
+
queue: InputQueue;
|
|
13
|
+
live: LiveSettings;
|
|
14
|
+
lastTurn: SDKUserMessage | null;
|
|
15
|
+
model: ModelTrack;
|
|
16
|
+
}
|
|
17
|
+
export type StreamHooks = Pick<ProviderSessionContext, "onModelUsed" | "onModelFallback" | "onTokenUsage" | "onAutoRefused" | "onToolDecision">;
|
|
18
|
+
export declare function toRunnerEvents(backend: StreamBackend, hooks: StreamHooks): AsyncGenerator<RunnerEvent, void>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { CLAUDE_AUTO_PERMISSION_MODE, CLAUDE_PERMISSION_SUBTYPES, } from "../../constants/claude.js";
|
|
2
|
+
import { extractTokenUsage, messageToEvents } from "./adapter.js";
|
|
3
|
+
import { resolvePermissionMode } from "./config.js";
|
|
4
|
+
import { isModelRefusal, repliedModel, } from "./model-fallback.js";
|
|
5
|
+
async function retryOnDefaultModel(backend) {
|
|
6
|
+
const { model, lastTurn, live } = backend;
|
|
7
|
+
if (model.refused !== null || lastTurn === null)
|
|
8
|
+
return false;
|
|
9
|
+
try {
|
|
10
|
+
await backend.output.setModel(undefined);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
model.refused = live.settings.claudeModel;
|
|
16
|
+
model.announceFrom = model.refused;
|
|
17
|
+
backend.queue.push(lastTurn);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
function observeModel(track, message, hooks) {
|
|
21
|
+
const used = repliedModel(message);
|
|
22
|
+
if (used === undefined)
|
|
23
|
+
return;
|
|
24
|
+
if (used !== track.active) {
|
|
25
|
+
track.active = used;
|
|
26
|
+
hooks.onModelUsed?.(used);
|
|
27
|
+
}
|
|
28
|
+
if (track.announceFrom === null)
|
|
29
|
+
return;
|
|
30
|
+
hooks.onModelFallback?.({ requested: track.announceFrom, used });
|
|
31
|
+
track.announceFrom = null;
|
|
32
|
+
}
|
|
33
|
+
function observePermissions(live, message, hooks) {
|
|
34
|
+
if (message.type !== "system")
|
|
35
|
+
return;
|
|
36
|
+
const isAutoAsked = resolvePermissionMode(live.settings) === CLAUDE_AUTO_PERMISSION_MODE;
|
|
37
|
+
if (message.subtype === CLAUDE_PERMISSION_SUBTYPES.INIT) {
|
|
38
|
+
if (isAutoAsked && message.permissionMode !== CLAUDE_AUTO_PERMISSION_MODE) {
|
|
39
|
+
hooks.onAutoRefused?.(message.model);
|
|
40
|
+
}
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!isAutoAsked || message.subtype !== CLAUDE_PERMISSION_SUBTYPES.DENIED) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
hooks.onToolDecision?.({
|
|
47
|
+
callId: message.tool_use_id,
|
|
48
|
+
toolName: message.tool_name,
|
|
49
|
+
allowedBy: "auto_denied",
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export async function* toRunnerEvents(backend, hooks) {
|
|
53
|
+
let held = [];
|
|
54
|
+
while (true) {
|
|
55
|
+
const result = await backend.output.next();
|
|
56
|
+
if (result.done)
|
|
57
|
+
return;
|
|
58
|
+
const message = result.value;
|
|
59
|
+
const usage = extractTokenUsage(message);
|
|
60
|
+
if (usage !== null)
|
|
61
|
+
hooks.onTokenUsage?.(usage);
|
|
62
|
+
observePermissions(backend.live, message, hooks);
|
|
63
|
+
if (isModelRefusal(message)) {
|
|
64
|
+
if (message.type === "assistant") {
|
|
65
|
+
held.push(message);
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (await retryOnDefaultModel(backend)) {
|
|
69
|
+
held = [];
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
for (const earlier of held)
|
|
74
|
+
yield* messageToEvents(earlier);
|
|
75
|
+
held = [];
|
|
76
|
+
observeModel(backend.model, message, hooks);
|
|
77
|
+
yield* messageToEvents(message);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=session-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-stream.js","sourceRoot":"","sources":["../../../src/providers/claude/session-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ToolArgs } from "../../agent/edit-targets.js";
|
|
2
|
+
import type { TurnSettings } from "../../state/settings-types.js";
|
|
3
|
+
export interface GuardedCall {
|
|
4
|
+
toolName: string;
|
|
5
|
+
args: ToolArgs;
|
|
6
|
+
}
|
|
7
|
+
export interface GuardScope {
|
|
8
|
+
readRoots: string[];
|
|
9
|
+
hostProjectRoot: string;
|
|
10
|
+
settings: TurnSettings;
|
|
11
|
+
}
|
|
12
|
+
export declare function isFirstPartyMcpTool(toolName: string): boolean;
|
|
13
|
+
export declare function runsInSafeScope(call: GuardedCall, scope: GuardScope): boolean;
|
|
14
|
+
export declare function isHostDecided(call: GuardedCall, scope: GuardScope, permissionMode: string | undefined): boolean;
|