refactor: organize skills subsystem layout · openclaw/openclaw@d9278c8
shakkernerd
·
2026-05-30
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -117,7 +117,7 @@ async function createAcpClient(opts: AcpClientOptions = {}): Promise<AcpClientHa
|
117 | 117 | const defaultServerArgs = entryPath ? [entryPath, ...serverArgs] : serverArgs; |
118 | 118 | const serverCommand = opts.serverCommand ?? defaultServerCommand; |
119 | 119 | const effectiveArgs = opts.serverCommand || !entryPath ? serverArgs : defaultServerArgs; |
120 | | -const { getActiveSkillEnvKeys } = await import("../skills/env-overrides.runtime.js"); |
| 120 | +const { getActiveSkillEnvKeys } = await import("../skills/runtime/env-overrides.runtime.js"); |
121 | 121 | const stripProviderAuthEnvVars = shouldStripProviderAuthEnvVarsForAcpServer({ |
122 | 122 | serverCommand, |
123 | 123 | serverArgs: effectiveArgs, |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -592,16 +592,16 @@ vi.mock("./provider-auth-aliases.js", () => ({
|
592 | 592 | provider.trim().toLowerCase() === "codex-cli" ? "openai-codex" : provider.trim().toLowerCase(), |
593 | 593 | })); |
594 | 594 | |
595 | | -vi.mock("../skills/agent-filter.js", () => ({ |
| 595 | +vi.mock("../skills/discovery/agent-filter.js", () => ({ |
596 | 596 | resolveEffectiveAgentSkillFilter: (_cfg: unknown, agentId: string) => |
597 | 597 | state.resolveAgentSkillsFilterMock(_cfg, agentId), |
598 | 598 | })); |
599 | 599 | |
600 | | -vi.mock("../skills/remote.js", () => ({ |
| 600 | +vi.mock("../skills/runtime/remote.js", () => ({ |
601 | 601 | getRemoteSkillEligibility: () => ({ eligible: false }), |
602 | 602 | })); |
603 | 603 | |
604 | | -vi.mock("../skills/session-snapshot.js", () => ({ |
| 604 | +vi.mock("../skills/runtime/session-snapshot.js", () => ({ |
605 | 605 | resolveReusableWorkspaceSkillSnapshot: (params: { |
606 | 606 | workspaceDir: string; |
607 | 607 | existingSnapshot?: { resolvedSkills?: unknown }; |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -39,9 +39,9 @@ import {
|
39 | 39 | import { resolveSendPolicy } from "../sessions/send-policy.js"; |
40 | 40 | import { createLazyImportLoader } from "../shared/lazy-promise.js"; |
41 | 41 | import { normalizeOptionalString } from "../shared/string-coerce.js"; |
42 | | -import { resolveEffectiveAgentSkillFilter } from "../skills/agent-filter.js"; |
43 | | -import type { getRemoteSkillEligibility } from "../skills/remote.js"; |
44 | | -import type { resolveReusableWorkspaceSkillSnapshot } from "../skills/session-snapshot.js"; |
| 42 | +import { resolveEffectiveAgentSkillFilter } from "../skills/discovery/agent-filter.js"; |
| 43 | +import type { getRemoteSkillEligibility } from "../skills/runtime/remote.js"; |
| 44 | +import type { resolveReusableWorkspaceSkillSnapshot } from "../skills/runtime/session-snapshot.js"; |
45 | 45 | import type { SkillSnapshot } from "../skills/types.js"; |
46 | 46 | import { sanitizeForLog } from "../terminal/ansi.js"; |
47 | 47 | import { createTrajectoryRuntimeRecorder } from "../trajectory/runtime.js"; |
@@ -156,8 +156,8 @@ const execDefaultsRuntimeLoader = createLazyImportLoader<ExecDefaultsRuntime>(
|
156 | 156 | ); |
157 | 157 | const skillsRuntimeLoader = createLazyImportLoader<SkillsRuntime>(async () => { |
158 | 158 | const [remote, sessionSnapshot] = await Promise.all([ |
159 | | -import("../skills/remote.js"), |
160 | | -import("../skills/session-snapshot.js"), |
| 159 | +import("../skills/runtime/remote.js"), |
| 160 | +import("../skills/runtime/session-snapshot.js"), |
161 | 161 | ]); |
162 | 162 | return { |
163 | 163 | getRemoteSkillEligibility: remote.getRemoteSkillEligibility, |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -21,7 +21,7 @@ import {
|
21 | 21 | normalizeOptionalString, |
22 | 22 | resolvePrimaryStringValue, |
23 | 23 | } from "../shared/string-coerce.js"; |
24 | | -import { resolveEffectiveAgentSkillFilter } from "../skills/agent-filter.js"; |
| 24 | +import { resolveEffectiveAgentSkillFilter } from "../skills/discovery/agent-filter.js"; |
25 | 25 | import { resolveUserPath } from "../utils.js"; |
26 | 26 | import { |
27 | 27 | listAgentIds, |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -13,7 +13,7 @@ import { getGlobalHookRunner } from "../plugins/hook-runner-global.js";
|
13 | 13 | import { createEmptyPluginRegistry } from "../plugins/registry-empty.js"; |
14 | 14 | import { setActivePluginRegistry } from "../plugins/runtime.js"; |
15 | 15 | import { setPluginToolMeta } from "../plugins/tools.js"; |
16 | | -import { createCanonicalFixtureSkill } from "../skills/test-helpers.js"; |
| 16 | +import { createCanonicalFixtureSkill } from "../skills/test-support/test-helpers.js"; |
17 | 17 | import { |
18 | 18 | runBeforeToolCallHook, |
19 | 19 | wrapToolWithBeforeToolCallHook, |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -31,7 +31,10 @@ import {
|
31 | 31 | type PluginHookToolKind, |
32 | 32 | } from "../plugins/types.js"; |
33 | 33 | import { createLazyRuntimeSurface } from "../shared/lazy-runtime.js"; |
34 | | -import { resolveSkillTelemetrySource, resolveSkillTelemetrySourceValue } from "../skills/source.js"; |
| 34 | +import { |
| 35 | +resolveSkillTelemetrySource, |
| 36 | +resolveSkillTelemetrySourceValue, |
| 37 | +} from "../skills/loading/source.js"; |
35 | 38 | import type { SkillSnapshot, SkillTelemetrySource } from "../skills/types.js"; |
36 | 39 | import { isPlainObject } from "../utils.js"; |
37 | 40 | import { adjustedParamsByToolCallId } from "./agent-tools.before-tool-call.state.js"; |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -5,7 +5,7 @@ import { describe, expect, it, vi } from "vitest";
|
5 | 5 | import "./test-helpers/fast-coding-tools.js"; |
6 | 6 | import "./test-helpers/fast-openclaw-tools.js"; |
7 | 7 | import type { OpenClawConfig } from "../config/config.js"; |
8 | | -import { createCanonicalFixtureSkill } from "../skills/test-helpers.js"; |
| 8 | +import { createCanonicalFixtureSkill } from "../skills/test-support/test-helpers.js"; |
9 | 9 | import { createOpenClawCodingTools } from "./agent-tools.js"; |
10 | 10 | import { expectReadWriteEditTools, getTextContent } from "./test-helpers/agent-tools-fs-helpers.js"; |
11 | 11 | import { createAgentToolsSandboxContext } from "./test-helpers/agent-tools-sandbox-context.js"; |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -11,7 +11,7 @@ import { requestHeartbeat as requestHeartbeatImpl } from "../../infra/heartbeat-
|
11 | 11 | import { sanitizeHostExecEnv } from "../../infra/host-env-security.js"; |
12 | 12 | import { enqueueSystemEvent as enqueueSystemEventImpl } from "../../infra/system-events.js"; |
13 | 13 | import { getProcessSupervisor as getProcessSupervisorImpl } from "../../process/supervisor/index.js"; |
14 | | -import { applySkillEnvOverridesFromSnapshot } from "../../skills/env-overrides.js"; |
| 14 | +import { applySkillEnvOverridesFromSnapshot } from "../../skills/runtime/env-overrides.js"; |
15 | 15 | import { appendBootstrapPromptWarning } from "../bootstrap-budget.js"; |
16 | 16 | import { |
17 | 17 | createCliJsonlStreamingParser, |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -21,7 +21,7 @@ import { buildAgentHookContextChannelFields } from "../../plugins/hook-agent-con
|
21 | 21 | import { getGlobalHookRunner } from "../../plugins/hook-runner-global.js"; |
22 | 22 | import { annotateInterSessionPromptText } from "../../sessions/input-provenance.js"; |
23 | 23 | import { uniqueStrings } from "../../shared/string-normalization.js"; |
24 | | -import { resolveSkillsPromptForRun } from "../../skills/workspace.js"; |
| 24 | +import { resolveSkillsPromptForRun } from "../../skills/loading/workspace.js"; |
25 | 25 | import { resolveUserPath } from "../../utils.js"; |
26 | 26 | import { resolveAgentDir, resolveSessionAgentIds } from "../agent-scope.js"; |
27 | 27 | import { externalCliDiscoveryForProviderAuth } from "../auth-profiles/external-cli-discovery.js"; |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -19,7 +19,7 @@ import {
|
19 | 19 | appendUserTurnTranscriptMessage, |
20 | 20 | type PersistedUserTurnMessage, |
21 | 21 | } from "../../sessions/user-turn-transcript.js"; |
22 | | -import { buildWorkspaceSkillSnapshot } from "../../skills/service.js"; |
| 22 | +import { buildWorkspaceSkillSnapshot } from "../../skills/discovery/service.js"; |
23 | 23 | import { sanitizeForLog } from "../../terminal/ansi.js"; |
24 | 24 | import { resolveMessageChannel } from "../../utils/message-channel.js"; |
25 | 25 | import { resolveAuthProfileOrder } from "../auth-profiles/order.js"; |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。