@kyo-so/cli 0.7.1 → 0.9.0
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/.agents/skills/kyoso-review/SKILL.md +16 -4
- package/.agents/skills/kyoso-review/agents/openai.yaml +0 -7
- package/CHANGELOG.md +57 -0
- package/README.ja.md +74 -8
- package/README.md +74 -8
- package/README.zh-CN.md +74 -8
- package/dist/audit/safeTraceFile.d.ts +20 -0
- package/dist/audit/stateRoot.d.ts +38 -0
- package/dist/audit/trace.d.ts +15 -3
- package/dist/bin/kyoso.js +2702 -503
- package/dist/cli/codexPluginDetector.d.ts +70 -0
- package/dist/cli/doctor.d.ts +3 -0
- package/dist/cli/integration.d.ts +30 -0
- package/dist/cli/knownSkillDigests.d.ts +11 -0
- package/dist/cli/pluginRuntimeContract.d.ts +232 -0
- package/dist/cli/setup.d.ts +24 -4
- package/dist/cli/skillInstall.d.ts +16 -0
- package/dist/config/configOverrides.d.ts +2 -0
- package/dist/config/projectScope.d.ts +2 -0
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/runReview.d.ts +3 -0
- package/dist/index.js +755 -140
- package/dist/utils/pathContainment.d.ts +1 -0
- package/package.json +9 -2
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { PLUGIN_RUNTIME_EXPECTED_CONTRACT } from "./pluginRuntimeContract.js";
|
|
2
|
+
export declare const CODEX_PLUGIN_INSPECTION_TIMEOUT_MS = 5000;
|
|
3
|
+
export type CodexInspectionOperation = "version" | "plugin_list" | "mcp_list";
|
|
4
|
+
export type CodexInspectionFailureReason = "unavailable" | "timeout" | "command_failed" | "invalid_output" | "unknown_schema" | "unsupported_version";
|
|
5
|
+
export type CodexInspectionFailure = {
|
|
6
|
+
operation: CodexInspectionOperation;
|
|
7
|
+
reason: CodexInspectionFailureReason;
|
|
8
|
+
};
|
|
9
|
+
export type CodexCommand = {
|
|
10
|
+
args: readonly string[];
|
|
11
|
+
cwd: string;
|
|
12
|
+
env: NodeJS.ProcessEnv;
|
|
13
|
+
timeoutMs: number;
|
|
14
|
+
};
|
|
15
|
+
export type CodexCommandResult = {
|
|
16
|
+
kind: "completed";
|
|
17
|
+
exitCode: number;
|
|
18
|
+
stdout: string;
|
|
19
|
+
} | {
|
|
20
|
+
kind: "unavailable";
|
|
21
|
+
} | {
|
|
22
|
+
kind: "timeout";
|
|
23
|
+
} | {
|
|
24
|
+
kind: "failed";
|
|
25
|
+
};
|
|
26
|
+
export type CodexCommandRunner = (command: CodexCommand) => CodexCommandResult;
|
|
27
|
+
export type CodexPluginInspectionOptions = {
|
|
28
|
+
cwd: string;
|
|
29
|
+
env?: NodeJS.ProcessEnv;
|
|
30
|
+
timeoutMs?: number;
|
|
31
|
+
runCodex?: CodexCommandRunner;
|
|
32
|
+
};
|
|
33
|
+
export type CodexPluginState = "enabled" | "disabled" | "not_installed";
|
|
34
|
+
export type CodexPluginInspection = {
|
|
35
|
+
status: "supported";
|
|
36
|
+
codexVersion: string;
|
|
37
|
+
plugin: {
|
|
38
|
+
pluginId: typeof PLUGIN_RUNTIME_EXPECTED_CONTRACT.marketplace.pluginId;
|
|
39
|
+
installed: boolean;
|
|
40
|
+
enabled: boolean;
|
|
41
|
+
state: CodexPluginState;
|
|
42
|
+
};
|
|
43
|
+
} | {
|
|
44
|
+
status: "unsupported";
|
|
45
|
+
failure: CodexInspectionFailure;
|
|
46
|
+
};
|
|
47
|
+
export type CodexMcpStatus = "enabled" | "disabled" | "missing" | "unknown";
|
|
48
|
+
export type CodexMcpListInspection = {
|
|
49
|
+
status: "supported";
|
|
50
|
+
kyoso: CodexMcpStatus;
|
|
51
|
+
} | {
|
|
52
|
+
status: "unsupported";
|
|
53
|
+
failure: CodexInspectionFailure;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Inspects only the stable Codex Plugin interface. It intentionally does not
|
|
57
|
+
* read Plugin cache files or configuration; Doctor composes this with the
|
|
58
|
+
* separately resolved manual-MCP and Plugin-override state.
|
|
59
|
+
*/
|
|
60
|
+
export declare function inspectCodexPlugin(options: CodexPluginInspectionOptions): CodexPluginInspection;
|
|
61
|
+
/**
|
|
62
|
+
* Reads the effective MCP list lazily. Doctor must call this only after it has
|
|
63
|
+
* confirmed that no top-level manual `mcp_servers.kyoso` entry exists.
|
|
64
|
+
*/
|
|
65
|
+
export declare function inspectCodexMcpList(options: CodexPluginInspectionOptions): CodexMcpListInspection;
|
|
66
|
+
/**
|
|
67
|
+
* Returns a fixed, display-safe diagnostic. Never append command stderr or
|
|
68
|
+
* filesystem paths to this message.
|
|
69
|
+
*/
|
|
70
|
+
export declare function formatCodexInspectionFailure(failure: CodexInspectionFailure): string;
|
package/dist/cli/doctor.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type CodexMcpListInspection, type CodexPluginInspection, type CodexPluginInspectionOptions } from "./codexPluginDetector.js";
|
|
1
2
|
export declare function runDoctor(options: {
|
|
2
3
|
cwd: string;
|
|
3
4
|
configPath?: string;
|
|
@@ -7,4 +8,6 @@ export declare function runDoctor(options: {
|
|
|
7
8
|
promptForTrust?: boolean;
|
|
8
9
|
trustStorePath?: string;
|
|
9
10
|
env?: NodeJS.ProcessEnv;
|
|
11
|
+
pluginInspector?: (options: CodexPluginInspectionOptions) => CodexPluginInspection;
|
|
12
|
+
mcpListInspector?: (options: CodexPluginInspectionOptions) => CodexMcpListInspection;
|
|
10
13
|
}): Promise<string>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ManualMcpStatus } from "./setup.js";
|
|
2
|
+
export type IntegrationMode = "manual-mcp" | "cli-skill" | "skill-on-demand" | "mcp-only" | "cli-only" | "missing" | "unknown";
|
|
3
|
+
export type InstalledCli = {
|
|
4
|
+
kind: "installed";
|
|
5
|
+
version: string;
|
|
6
|
+
scope: "project" | "global";
|
|
7
|
+
};
|
|
8
|
+
export type CliAvailability = InstalledCli | {
|
|
9
|
+
kind: "missing" | "transient" | "unknown";
|
|
10
|
+
};
|
|
11
|
+
export type CliDetection = {
|
|
12
|
+
kyoso: CliAvailability;
|
|
13
|
+
npx: boolean;
|
|
14
|
+
bunx: boolean;
|
|
15
|
+
};
|
|
16
|
+
export type NonPluginIntegration = {
|
|
17
|
+
mode: IntegrationMode;
|
|
18
|
+
warnings: string[];
|
|
19
|
+
};
|
|
20
|
+
export declare function detectCli(options: {
|
|
21
|
+
cwd: string;
|
|
22
|
+
env?: NodeJS.ProcessEnv;
|
|
23
|
+
platform?: NodeJS.Platform;
|
|
24
|
+
}): CliDetection;
|
|
25
|
+
export declare function determineNonPluginIntegration(options: {
|
|
26
|
+
manualMcpStatus: ManualMcpStatus;
|
|
27
|
+
hasSkill: boolean;
|
|
28
|
+
cli: CliDetection;
|
|
29
|
+
}): NonPluginIntegration;
|
|
30
|
+
export declare function formatCliAvailability(cli: CliAvailability): string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const CURRENT_SKILL_DIGEST = "sha256:98e715396ee3e1994c29ab49bc489197f242091c8ac0e06e182c0eccd5ab277e";
|
|
2
|
+
export declare const KNOWN_SKILL_DIGESTS_BY_VERSION: {
|
|
3
|
+
readonly "0.8.0": readonly [{
|
|
4
|
+
readonly digest: "sha256:b16ea3f8141a01399b96dee650365d99df2b8c5fc99184d9cb22d5d72c106fd8";
|
|
5
|
+
readonly kind: "historical";
|
|
6
|
+
}];
|
|
7
|
+
};
|
|
8
|
+
export declare function knownSkillDigest(digest: string): {
|
|
9
|
+
version: string;
|
|
10
|
+
kind: "current" | "historical";
|
|
11
|
+
} | undefined;
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime facts captured by the disposable Codex Plugin probe.
|
|
3
|
+
*
|
|
4
|
+
* Keep this bundled contract structurally identical to the stable portion of
|
|
5
|
+
* docs/compatibility/codex-plugin-runtime.json. The documentation record also
|
|
6
|
+
* retains dated probe metadata, which deliberately does not belong in the
|
|
7
|
+
* published CLI.
|
|
8
|
+
*/
|
|
9
|
+
export declare const PLUGIN_RUNTIME_COMPATIBILITY_SCHEMA_VERSION = 1;
|
|
10
|
+
export declare const MINIMUM_SUPPORTED_CODEX_VERSION = "0.144.0-alpha.4";
|
|
11
|
+
export declare const PLUGIN_RUNTIME_EXPECTED_CONTRACT: {
|
|
12
|
+
readonly distribution: {
|
|
13
|
+
readonly pluginVersion: "0.1.0";
|
|
14
|
+
readonly mcpCommand: "npx";
|
|
15
|
+
readonly mcpPackagePin: "@kyo-so/cli@0.8.0";
|
|
16
|
+
};
|
|
17
|
+
readonly marketplace: {
|
|
18
|
+
readonly name: "kyoso";
|
|
19
|
+
readonly listed: true;
|
|
20
|
+
readonly pluginId: "kyoso@kyoso";
|
|
21
|
+
readonly selector: "kyoso@kyoso";
|
|
22
|
+
readonly installPolicy: "AVAILABLE";
|
|
23
|
+
readonly authPolicy: "ON_USE";
|
|
24
|
+
};
|
|
25
|
+
readonly transitions: {
|
|
26
|
+
readonly beforeAdd: {
|
|
27
|
+
readonly installed: false;
|
|
28
|
+
readonly enabled: false;
|
|
29
|
+
};
|
|
30
|
+
readonly afterAdd: {
|
|
31
|
+
readonly installed: true;
|
|
32
|
+
readonly enabled: true;
|
|
33
|
+
};
|
|
34
|
+
readonly disabled: {
|
|
35
|
+
readonly installed: true;
|
|
36
|
+
readonly enabled: false;
|
|
37
|
+
};
|
|
38
|
+
readonly afterRemove: {
|
|
39
|
+
readonly installed: false;
|
|
40
|
+
readonly enabled: false;
|
|
41
|
+
};
|
|
42
|
+
readonly installPluginId: "kyoso@kyoso";
|
|
43
|
+
readonly removePluginId: "kyoso@kyoso";
|
|
44
|
+
};
|
|
45
|
+
readonly mcp: {
|
|
46
|
+
readonly default: {
|
|
47
|
+
readonly enabled: true;
|
|
48
|
+
readonly command: "$NODE";
|
|
49
|
+
readonly args: readonly ["$PROBE_SERVER", "$OBSERVATION"];
|
|
50
|
+
readonly envVars: readonly ["OPENAI_API_KEY", "CODEX_API_KEY", "CODEX_HOME", "CODEX_ACCESS_TOKEN", "ANTHROPIC_API_KEY", "CLAUDE_CODE_OAUTH_TOKEN"];
|
|
51
|
+
readonly cwd: null;
|
|
52
|
+
readonly startupTimeoutSec: 20;
|
|
53
|
+
readonly toolTimeoutSec: 360;
|
|
54
|
+
};
|
|
55
|
+
readonly pluginOverride: {
|
|
56
|
+
readonly enabled: false;
|
|
57
|
+
readonly command: "$NODE";
|
|
58
|
+
readonly args: readonly ["$PROBE_SERVER", "$OBSERVATION"];
|
|
59
|
+
readonly envVars: readonly ["OPENAI_API_KEY", "CODEX_API_KEY", "CODEX_HOME", "CODEX_ACCESS_TOKEN", "ANTHROPIC_API_KEY", "CLAUDE_CODE_OAUTH_TOKEN"];
|
|
60
|
+
readonly cwd: null;
|
|
61
|
+
readonly startupTimeoutSec: 20;
|
|
62
|
+
readonly toolTimeoutSec: 360;
|
|
63
|
+
};
|
|
64
|
+
readonly manualOverride: {
|
|
65
|
+
readonly enabled: true;
|
|
66
|
+
readonly command: "manual-kyoso";
|
|
67
|
+
readonly args: readonly ["mcp"];
|
|
68
|
+
readonly envVars: readonly [];
|
|
69
|
+
readonly cwd: null;
|
|
70
|
+
readonly startupTimeoutSec: null;
|
|
71
|
+
readonly toolTimeoutSec: null;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
readonly appServer: {
|
|
75
|
+
readonly default: {
|
|
76
|
+
readonly serverFound: true;
|
|
77
|
+
readonly toolNames: readonly ["probe_environment"];
|
|
78
|
+
readonly authStatus: "unsupported";
|
|
79
|
+
readonly skillFound: false;
|
|
80
|
+
readonly skillEnabled: null;
|
|
81
|
+
readonly skillHasKyosoMcpDependency: false;
|
|
82
|
+
};
|
|
83
|
+
readonly pluginOverride: {
|
|
84
|
+
readonly serverFound: true;
|
|
85
|
+
readonly toolNames: readonly [];
|
|
86
|
+
readonly authStatus: "unsupported";
|
|
87
|
+
readonly skillFound: false;
|
|
88
|
+
readonly skillEnabled: null;
|
|
89
|
+
readonly skillHasKyosoMcpDependency: false;
|
|
90
|
+
readonly mcpObservationWritten: false;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
readonly environment: {
|
|
94
|
+
readonly cwdIsWorkspace: true;
|
|
95
|
+
readonly homeInherited: true;
|
|
96
|
+
readonly codexHomeForwarded: true;
|
|
97
|
+
readonly tempDirectoryInherited: true;
|
|
98
|
+
readonly pathInherited: true;
|
|
99
|
+
readonly allowlistedEnvForwarded: {
|
|
100
|
+
readonly OPENAI_API_KEY: true;
|
|
101
|
+
readonly CODEX_API_KEY: true;
|
|
102
|
+
readonly CODEX_ACCESS_TOKEN: true;
|
|
103
|
+
readonly ANTHROPIC_API_KEY: true;
|
|
104
|
+
readonly CLAUDE_CODE_OAUTH_TOKEN: true;
|
|
105
|
+
};
|
|
106
|
+
readonly deniedSentinelForwarded: false;
|
|
107
|
+
};
|
|
108
|
+
readonly isolation: {
|
|
109
|
+
readonly distinctHomeAndCodexHome: true;
|
|
110
|
+
readonly distinctWorkspace: true;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* `codex plugin list --json` is supported only when entries have these
|
|
115
|
+
* probe-observed fields. Doctor must treat all other shapes as unsupported.
|
|
116
|
+
*/
|
|
117
|
+
export declare const PLUGIN_LIST_JSON_SCHEMA: {
|
|
118
|
+
readonly collections: readonly ["installed", "available"];
|
|
119
|
+
readonly entry: {
|
|
120
|
+
readonly pluginId: "kyoso@kyoso";
|
|
121
|
+
readonly requiredFields: readonly ["pluginId", "installed", "enabled"];
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
/** Stable runtime contract consumed by Doctor and distribution verification. */
|
|
125
|
+
export declare const pluginRuntimeContract: {
|
|
126
|
+
readonly schemaVersion: 1;
|
|
127
|
+
readonly minimumSupportedCodexVersion: "0.144.0-alpha.4";
|
|
128
|
+
readonly pluginId: "kyoso@kyoso";
|
|
129
|
+
readonly pluginListTopLevelKeys: readonly ["installed", "available"];
|
|
130
|
+
readonly expectedContract: {
|
|
131
|
+
readonly distribution: {
|
|
132
|
+
readonly pluginVersion: "0.1.0";
|
|
133
|
+
readonly mcpCommand: "npx";
|
|
134
|
+
readonly mcpPackagePin: "@kyo-so/cli@0.8.0";
|
|
135
|
+
};
|
|
136
|
+
readonly marketplace: {
|
|
137
|
+
readonly name: "kyoso";
|
|
138
|
+
readonly listed: true;
|
|
139
|
+
readonly pluginId: "kyoso@kyoso";
|
|
140
|
+
readonly selector: "kyoso@kyoso";
|
|
141
|
+
readonly installPolicy: "AVAILABLE";
|
|
142
|
+
readonly authPolicy: "ON_USE";
|
|
143
|
+
};
|
|
144
|
+
readonly transitions: {
|
|
145
|
+
readonly beforeAdd: {
|
|
146
|
+
readonly installed: false;
|
|
147
|
+
readonly enabled: false;
|
|
148
|
+
};
|
|
149
|
+
readonly afterAdd: {
|
|
150
|
+
readonly installed: true;
|
|
151
|
+
readonly enabled: true;
|
|
152
|
+
};
|
|
153
|
+
readonly disabled: {
|
|
154
|
+
readonly installed: true;
|
|
155
|
+
readonly enabled: false;
|
|
156
|
+
};
|
|
157
|
+
readonly afterRemove: {
|
|
158
|
+
readonly installed: false;
|
|
159
|
+
readonly enabled: false;
|
|
160
|
+
};
|
|
161
|
+
readonly installPluginId: "kyoso@kyoso";
|
|
162
|
+
readonly removePluginId: "kyoso@kyoso";
|
|
163
|
+
};
|
|
164
|
+
readonly mcp: {
|
|
165
|
+
readonly default: {
|
|
166
|
+
readonly enabled: true;
|
|
167
|
+
readonly command: "$NODE";
|
|
168
|
+
readonly args: readonly ["$PROBE_SERVER", "$OBSERVATION"];
|
|
169
|
+
readonly envVars: readonly ["OPENAI_API_KEY", "CODEX_API_KEY", "CODEX_HOME", "CODEX_ACCESS_TOKEN", "ANTHROPIC_API_KEY", "CLAUDE_CODE_OAUTH_TOKEN"];
|
|
170
|
+
readonly cwd: null;
|
|
171
|
+
readonly startupTimeoutSec: 20;
|
|
172
|
+
readonly toolTimeoutSec: 360;
|
|
173
|
+
};
|
|
174
|
+
readonly pluginOverride: {
|
|
175
|
+
readonly enabled: false;
|
|
176
|
+
readonly command: "$NODE";
|
|
177
|
+
readonly args: readonly ["$PROBE_SERVER", "$OBSERVATION"];
|
|
178
|
+
readonly envVars: readonly ["OPENAI_API_KEY", "CODEX_API_KEY", "CODEX_HOME", "CODEX_ACCESS_TOKEN", "ANTHROPIC_API_KEY", "CLAUDE_CODE_OAUTH_TOKEN"];
|
|
179
|
+
readonly cwd: null;
|
|
180
|
+
readonly startupTimeoutSec: 20;
|
|
181
|
+
readonly toolTimeoutSec: 360;
|
|
182
|
+
};
|
|
183
|
+
readonly manualOverride: {
|
|
184
|
+
readonly enabled: true;
|
|
185
|
+
readonly command: "manual-kyoso";
|
|
186
|
+
readonly args: readonly ["mcp"];
|
|
187
|
+
readonly envVars: readonly [];
|
|
188
|
+
readonly cwd: null;
|
|
189
|
+
readonly startupTimeoutSec: null;
|
|
190
|
+
readonly toolTimeoutSec: null;
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
readonly appServer: {
|
|
194
|
+
readonly default: {
|
|
195
|
+
readonly serverFound: true;
|
|
196
|
+
readonly toolNames: readonly ["probe_environment"];
|
|
197
|
+
readonly authStatus: "unsupported";
|
|
198
|
+
readonly skillFound: false;
|
|
199
|
+
readonly skillEnabled: null;
|
|
200
|
+
readonly skillHasKyosoMcpDependency: false;
|
|
201
|
+
};
|
|
202
|
+
readonly pluginOverride: {
|
|
203
|
+
readonly serverFound: true;
|
|
204
|
+
readonly toolNames: readonly [];
|
|
205
|
+
readonly authStatus: "unsupported";
|
|
206
|
+
readonly skillFound: false;
|
|
207
|
+
readonly skillEnabled: null;
|
|
208
|
+
readonly skillHasKyosoMcpDependency: false;
|
|
209
|
+
readonly mcpObservationWritten: false;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
readonly environment: {
|
|
213
|
+
readonly cwdIsWorkspace: true;
|
|
214
|
+
readonly homeInherited: true;
|
|
215
|
+
readonly codexHomeForwarded: true;
|
|
216
|
+
readonly tempDirectoryInherited: true;
|
|
217
|
+
readonly pathInherited: true;
|
|
218
|
+
readonly allowlistedEnvForwarded: {
|
|
219
|
+
readonly OPENAI_API_KEY: true;
|
|
220
|
+
readonly CODEX_API_KEY: true;
|
|
221
|
+
readonly CODEX_ACCESS_TOKEN: true;
|
|
222
|
+
readonly ANTHROPIC_API_KEY: true;
|
|
223
|
+
readonly CLAUDE_CODE_OAUTH_TOKEN: true;
|
|
224
|
+
};
|
|
225
|
+
readonly deniedSentinelForwarded: false;
|
|
226
|
+
};
|
|
227
|
+
readonly isolation: {
|
|
228
|
+
readonly distinctHomeAndCodexHome: true;
|
|
229
|
+
readonly distinctWorkspace: true;
|
|
230
|
+
};
|
|
231
|
+
};
|
|
232
|
+
};
|
package/dist/cli/setup.d.ts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
export type SetupClient = "codex" | "claude-code";
|
|
2
2
|
export type SetupRunner = "npx" | "bunx";
|
|
3
3
|
export type SetupScope = "project" | "global";
|
|
4
|
+
export type ManualMcpStatus = "enabled" | "disabled" | "missing" | "unknown";
|
|
5
|
+
export type SetupDetection = {
|
|
6
|
+
mcp: boolean;
|
|
7
|
+
skill: boolean;
|
|
8
|
+
manualMcpStatus: ManualMcpStatus;
|
|
9
|
+
mcpPaths: string[];
|
|
10
|
+
skillPaths: string[];
|
|
11
|
+
};
|
|
12
|
+
export type CodexPluginMcpOverride = {
|
|
13
|
+
status: ManualMcpStatus;
|
|
14
|
+
path: string;
|
|
15
|
+
};
|
|
4
16
|
export type SetupOptions = {
|
|
5
17
|
cwd: string;
|
|
6
18
|
client?: string;
|
|
@@ -8,6 +20,8 @@ export type SetupOptions = {
|
|
|
8
20
|
global: boolean;
|
|
9
21
|
runner?: string;
|
|
10
22
|
command?: string;
|
|
23
|
+
skillOnly?: boolean;
|
|
24
|
+
force?: boolean;
|
|
11
25
|
env?: NodeJS.ProcessEnv;
|
|
12
26
|
};
|
|
13
27
|
type McpCommand = {
|
|
@@ -19,11 +33,17 @@ export declare function commandForRunner(runner: SetupRunner): McpCommand;
|
|
|
19
33
|
export declare function buildCodexMcpToml(command: McpCommand): string;
|
|
20
34
|
export declare function buildClaudeMcpEntry(command: McpCommand): Record<string, unknown>;
|
|
21
35
|
export declare function skillDestination(client: SetupClient, scope: SetupScope, cwd: string, home: string): string;
|
|
36
|
+
export declare function resolveUserHome(env?: NodeJS.ProcessEnv): string;
|
|
37
|
+
export declare function resolveCodexConfigPath(env?: NodeJS.ProcessEnv, cwd?: string): string;
|
|
38
|
+
export declare function resolveCodexUserSkillPath(env?: NodeJS.ProcessEnv): string;
|
|
39
|
+
export declare function detectCodexPluginMcpOverride(options: {
|
|
40
|
+
cwd: string;
|
|
41
|
+
env?: NodeJS.ProcessEnv;
|
|
42
|
+
}): CodexPluginMcpOverride;
|
|
22
43
|
export declare function detectSetup(options: {
|
|
23
44
|
cwd: string;
|
|
24
45
|
home?: string;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}>;
|
|
46
|
+
codexHome?: string;
|
|
47
|
+
env?: NodeJS.ProcessEnv;
|
|
48
|
+
}): Record<SetupClient, SetupDetection>;
|
|
29
49
|
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const SKILL_INSTALL_MARKER = ".kyoso-install.json";
|
|
2
|
+
export declare const SKILL_INSTALL_BACKUP = ".kyoso-review.backup";
|
|
3
|
+
export declare const SKILL_INSTALL_TRANSACTION = ".kyoso-review.install-transaction.json";
|
|
4
|
+
export type ManagedSkillResult = {
|
|
5
|
+
status: "dry-run" | "created" | "updated" | "skipped" | "conflict";
|
|
6
|
+
path: string;
|
|
7
|
+
detail: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function ensureManagedSkill(options: {
|
|
10
|
+
sourceDir: string;
|
|
11
|
+
destinationDir: string;
|
|
12
|
+
trustedRoot: string;
|
|
13
|
+
write: boolean;
|
|
14
|
+
force: boolean;
|
|
15
|
+
}): Promise<ManagedSkillResult>;
|
|
16
|
+
export declare function hashSkillDirectory(directory: string): Promise<string>;
|
|
@@ -6,6 +6,8 @@ type Violation = {
|
|
|
6
6
|
path: string;
|
|
7
7
|
reason?: string;
|
|
8
8
|
};
|
|
9
|
+
export declare const kyosoConfigOverridePaths: readonly ["agents.codex.enabled", "agents.codex.model", "agents.codex.effort", "agents.codex.role", "agents.codex.timeoutMs", "agents.claude.enabled", "agents.claude.model", "agents.claude.effort", "agents.claude.role", "agents.claude.timeoutMs", "verification.enabled", "verification.maxFindings", "verification.timeoutMs", "judge.mode", "judge.provider", "judge.timeoutMs"];
|
|
10
|
+
export declare function isAllowedConfigOverridePath(path: string[]): boolean;
|
|
9
11
|
export declare function mergeProjectTomlConfig(baseConfig: unknown, projectConfig: unknown, options: ProjectScopeOptions): unknown;
|
|
10
12
|
export declare function collectProjectScopeViolations(config: unknown): Violation[];
|
|
11
13
|
export declare function flattenLeaves(value: unknown, path?: string[]): Array<{
|
package/dist/core/constants.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export declare const DEFAULT_MAX_DIFF_BYTES = 300000;
|
|
|
4
4
|
export declare const RAW_OUTPUT_MAX_CHARS = 16384;
|
|
5
5
|
export declare const TRACE_DIR = ".kyoso/traces";
|
|
6
6
|
export declare const KYOSO_CHILD_AGENT = "KYOSO_CHILD_AGENT";
|
|
7
|
-
export declare const KYOSO_VERSION = "0.
|
|
7
|
+
export declare const KYOSO_VERSION = "0.9.0";
|
package/dist/core/runReview.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { type KyosoConfig } from "../config/schema.js";
|
|
2
2
|
import { type LoadConfigOptions } from "../config/loadConfig.js";
|
|
3
3
|
import type { AcpAgentManager } from "../acp/AcpAgentManager.js";
|
|
4
|
+
import { type TraceWriter, type TraceWriterOptions } from "../audit/trace.js";
|
|
4
5
|
import type { KyosoResult, KyosoReviewRequest, NetworkMode, ReviewTool } from "./types.js";
|
|
5
6
|
export type RunReviewOptions = LoadConfigOptions & {
|
|
6
7
|
config?: KyosoConfig;
|
|
8
|
+
configOverrides?: string[];
|
|
7
9
|
configHash?: string;
|
|
8
10
|
agentManager?: AcpAgentManager;
|
|
9
11
|
env?: NodeJS.ProcessEnv;
|
|
10
12
|
mcpNetworkMode?: NetworkMode;
|
|
13
|
+
traceWriterFactory?: (options: TraceWriterOptions) => TraceWriter;
|
|
11
14
|
};
|
|
12
15
|
export declare function runReview(tool: ReviewTool, request: KyosoReviewRequest, options?: RunReviewOptions): Promise<KyosoResult>;
|