oh-my-knowledge 0.22.0 → 0.24.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.
Files changed (184) hide show
  1. package/README.md +63 -63
  2. package/README.zh.md +64 -62
  3. package/dist/src/analysis/report-diagnostics.d.ts +28 -3
  4. package/dist/src/analysis/report-diagnostics.d.ts.map +1 -1
  5. package/dist/src/analysis/report-diagnostics.js +201 -81
  6. package/dist/src/analysis/report-diagnostics.js.map +1 -1
  7. package/dist/src/analysis/sample-diagnostics.d.ts +9 -2
  8. package/dist/src/analysis/sample-diagnostics.d.ts.map +1 -1
  9. package/dist/src/analysis/sample-diagnostics.js +224 -25
  10. package/dist/src/analysis/sample-diagnostics.js.map +1 -1
  11. package/dist/src/authoring/evolver.d.ts +7 -2
  12. package/dist/src/authoring/evolver.d.ts.map +1 -1
  13. package/dist/src/authoring/evolver.js +43 -9
  14. package/dist/src/authoring/evolver.js.map +1 -1
  15. package/dist/src/authoring/generator.d.ts +24 -0
  16. package/dist/src/authoring/generator.d.ts.map +1 -1
  17. package/dist/src/authoring/generator.js +67 -5
  18. package/dist/src/authoring/generator.js.map +1 -1
  19. package/dist/src/cli/coverage-renderer.d.ts +15 -0
  20. package/dist/src/cli/coverage-renderer.d.ts.map +1 -0
  21. package/dist/src/cli/coverage-renderer.js +74 -0
  22. package/dist/src/cli/coverage-renderer.js.map +1 -0
  23. package/dist/src/cli/i18n-dict.d.ts +1 -1
  24. package/dist/src/cli/i18n-dict.d.ts.map +1 -1
  25. package/dist/src/cli/i18n-dict.js +62 -40
  26. package/dist/src/cli/i18n-dict.js.map +1 -1
  27. package/dist/src/cli/index.d.ts +3 -0
  28. package/dist/src/cli/index.d.ts.map +1 -0
  29. package/dist/src/{cli.js → cli/index.js} +123 -384
  30. package/dist/src/cli/index.js.map +1 -0
  31. package/dist/src/cli/parse-run-config.d.ts +56 -0
  32. package/dist/src/cli/parse-run-config.d.ts.map +1 -0
  33. package/dist/src/cli/parse-run-config.js +195 -0
  34. package/dist/src/cli/parse-run-config.js.map +1 -0
  35. package/dist/src/cli/progress.d.ts +25 -0
  36. package/dist/src/cli/progress.d.ts.map +1 -0
  37. package/dist/src/cli/progress.js +62 -0
  38. package/dist/src/cli/progress.js.map +1 -0
  39. package/dist/src/cli/update-check.d.ts +3 -0
  40. package/dist/src/cli/update-check.d.ts.map +1 -0
  41. package/dist/src/cli/update-check.js +37 -0
  42. package/dist/src/cli/update-check.js.map +1 -0
  43. package/dist/src/eval-core/cache.d.ts +7 -5
  44. package/dist/src/eval-core/cache.d.ts.map +1 -1
  45. package/dist/src/eval-core/cache.js +11 -7
  46. package/dist/src/eval-core/cache.js.map +1 -1
  47. package/dist/src/eval-core/comparability.d.ts +11 -0
  48. package/dist/src/eval-core/comparability.d.ts.map +1 -0
  49. package/dist/src/eval-core/comparability.js +271 -0
  50. package/dist/src/eval-core/comparability.js.map +1 -0
  51. package/dist/src/eval-core/dependency-checker.d.ts +1 -1
  52. package/dist/src/eval-core/dependency-checker.js +1 -1
  53. package/dist/src/eval-core/evaluation-execution.d.ts +5 -2
  54. package/dist/src/eval-core/evaluation-execution.d.ts.map +1 -1
  55. package/dist/src/eval-core/evaluation-execution.js +29 -21
  56. package/dist/src/eval-core/evaluation-execution.js.map +1 -1
  57. package/dist/src/eval-core/evaluation-job.d.ts +2 -2
  58. package/dist/src/eval-core/evaluation-job.d.ts.map +1 -1
  59. package/dist/src/eval-core/evaluation-job.js +2 -2
  60. package/dist/src/eval-core/evaluation-job.js.map +1 -1
  61. package/dist/src/eval-core/evaluation-reporting.d.ts +3 -1
  62. package/dist/src/eval-core/evaluation-reporting.d.ts.map +1 -1
  63. package/dist/src/eval-core/evaluation-reporting.js +65 -5
  64. package/dist/src/eval-core/evaluation-reporting.js.map +1 -1
  65. package/dist/src/eval-core/execution-strategy.js +6 -6
  66. package/dist/src/eval-core/execution-strategy.js.map +1 -1
  67. package/dist/src/eval-core/schema.d.ts.map +1 -1
  68. package/dist/src/eval-core/schema.js +14 -1
  69. package/dist/src/eval-core/schema.js.map +1 -1
  70. package/dist/src/eval-core/verdict.d.ts +3 -3
  71. package/dist/src/eval-core/verdict.js +3 -3
  72. package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts +111 -0
  73. package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts.map +1 -0
  74. package/dist/src/eval-workflows/batch-evaluation-workflow.js +215 -0
  75. package/dist/src/eval-workflows/batch-evaluation-workflow.js.map +1 -0
  76. package/dist/src/eval-workflows/evaluation-pipeline.d.ts +7 -5
  77. package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
  78. package/dist/src/eval-workflows/evaluation-pipeline.js +13 -8
  79. package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
  80. package/dist/src/eval-workflows/evaluation-preparation.d.ts +10 -8
  81. package/dist/src/eval-workflows/evaluation-preparation.d.ts.map +1 -1
  82. package/dist/src/eval-workflows/evaluation-preparation.js +8 -4
  83. package/dist/src/eval-workflows/evaluation-preparation.js.map +1 -1
  84. package/dist/src/eval-workflows/run-evaluation.d.ts +23 -20
  85. package/dist/src/eval-workflows/run-evaluation.d.ts.map +1 -1
  86. package/dist/src/eval-workflows/run-evaluation.js +34 -25
  87. package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
  88. package/dist/src/executors/claude-cli.d.ts.map +1 -1
  89. package/dist/src/executors/claude-cli.js +12 -7
  90. package/dist/src/executors/claude-cli.js.map +1 -1
  91. package/dist/src/executors/claude-sdk.d.ts +1 -1
  92. package/dist/src/executors/claude-sdk.js +1 -1
  93. package/dist/src/executors/codex-cli-trace.d.ts +10 -0
  94. package/dist/src/executors/codex-cli-trace.d.ts.map +1 -0
  95. package/dist/src/executors/codex-cli-trace.js +123 -0
  96. package/dist/src/executors/codex-cli-trace.js.map +1 -0
  97. package/dist/src/executors/codex-cli.d.ts +18 -0
  98. package/dist/src/executors/codex-cli.d.ts.map +1 -0
  99. package/dist/src/executors/codex-cli.js +254 -0
  100. package/dist/src/executors/codex-cli.js.map +1 -0
  101. package/dist/src/executors/codex-sdk.d.ts +18 -0
  102. package/dist/src/executors/codex-sdk.d.ts.map +1 -0
  103. package/dist/src/executors/codex-sdk.js +214 -0
  104. package/dist/src/executors/codex-sdk.js.map +1 -0
  105. package/dist/src/executors/gemini.d.ts.map +1 -1
  106. package/dist/src/executors/gemini.js +28 -24
  107. package/dist/src/executors/gemini.js.map +1 -1
  108. package/dist/src/executors/index.d.ts.map +1 -1
  109. package/dist/src/executors/index.js +7 -2
  110. package/dist/src/executors/index.js.map +1 -1
  111. package/dist/src/executors/runtime-fingerprint.d.ts +7 -0
  112. package/dist/src/executors/runtime-fingerprint.d.ts.map +1 -0
  113. package/dist/src/executors/runtime-fingerprint.js +277 -0
  114. package/dist/src/executors/runtime-fingerprint.js.map +1 -0
  115. package/dist/src/executors/script.d.ts.map +1 -1
  116. package/dist/src/executors/script.js +48 -56
  117. package/dist/src/executors/script.js.map +1 -1
  118. package/dist/src/executors/shared.d.ts +78 -1
  119. package/dist/src/executors/shared.d.ts.map +1 -1
  120. package/dist/src/executors/shared.js +203 -1
  121. package/dist/src/executors/shared.js.map +1 -1
  122. package/dist/src/grading/assertions.d.ts.map +1 -1
  123. package/dist/src/grading/assertions.js +21 -6
  124. package/dist/src/grading/assertions.js.map +1 -1
  125. package/dist/src/grading/gold-dataset.d.ts +1 -1
  126. package/dist/src/grading/gold-dataset.js +1 -1
  127. package/dist/src/grading/index.d.ts.map +1 -1
  128. package/dist/src/grading/index.js +11 -0
  129. package/dist/src/grading/index.js.map +1 -1
  130. package/dist/src/grading/judge.d.ts.map +1 -1
  131. package/dist/src/grading/judge.js +75 -6
  132. package/dist/src/grading/judge.js.map +1 -1
  133. package/dist/src/inputs/eval-config.js +2 -2
  134. package/dist/src/inputs/eval-config.js.map +1 -1
  135. package/dist/src/inputs/load-samples.d.ts.map +1 -1
  136. package/dist/src/inputs/load-samples.js +30 -4
  137. package/dist/src/inputs/load-samples.js.map +1 -1
  138. package/dist/src/inputs/skill-loader.d.ts +2 -2
  139. package/dist/src/inputs/skill-loader.d.ts.map +1 -1
  140. package/dist/src/inputs/skill-loader.js +2 -2
  141. package/dist/src/inputs/skill-loader.js.map +1 -1
  142. package/dist/src/renderer/html-renderer.d.ts +5 -4
  143. package/dist/src/renderer/html-renderer.d.ts.map +1 -1
  144. package/dist/src/renderer/html-renderer.js +217 -93
  145. package/dist/src/renderer/html-renderer.js.map +1 -1
  146. package/dist/src/renderer/layout.d.ts +2 -1
  147. package/dist/src/renderer/layout.d.ts.map +1 -1
  148. package/dist/src/renderer/layout.js +30 -42
  149. package/dist/src/renderer/layout.js.map +1 -1
  150. package/dist/src/renderer/summary.d.ts +3 -3
  151. package/dist/src/renderer/summary.d.ts.map +1 -1
  152. package/dist/src/renderer/summary.js +232 -55
  153. package/dist/src/renderer/summary.js.map +1 -1
  154. package/dist/src/renderer/trends.d.ts.map +1 -1
  155. package/dist/src/renderer/trends.js +5 -3
  156. package/dist/src/renderer/trends.js.map +1 -1
  157. package/dist/src/server/report-server.js +4 -4
  158. package/dist/src/server/report-server.js.map +1 -1
  159. package/dist/src/server/report-store.d.ts +7 -5
  160. package/dist/src/server/report-store.d.ts.map +1 -1
  161. package/dist/src/server/report-store.js +39 -11
  162. package/dist/src/server/report-store.js.map +1 -1
  163. package/dist/src/types/eval.d.ts +27 -5
  164. package/dist/src/types/eval.d.ts.map +1 -1
  165. package/dist/src/types/executor.d.ts +5 -0
  166. package/dist/src/types/executor.d.ts.map +1 -1
  167. package/dist/src/types/judge.d.ts +10 -0
  168. package/dist/src/types/judge.d.ts.map +1 -1
  169. package/dist/src/types/report.d.ts +151 -29
  170. package/dist/src/types/report.d.ts.map +1 -1
  171. package/dist/src/types/storage.d.ts +7 -7
  172. package/dist/src/types/storage.d.ts.map +1 -1
  173. package/package.json +14 -5
  174. package/dist/src/cli.d.ts +0 -3
  175. package/dist/src/cli.d.ts.map +0 -1
  176. package/dist/src/cli.js.map +0 -1
  177. package/dist/src/eval-workflows/each-evaluation-workflow.d.ts +0 -153
  178. package/dist/src/eval-workflows/each-evaluation-workflow.d.ts.map +0 -1
  179. package/dist/src/eval-workflows/each-evaluation-workflow.js +0 -178
  180. package/dist/src/eval-workflows/each-evaluation-workflow.js.map +0 -1
  181. package/dist/src/executors/openai-cli.d.ts +0 -3
  182. package/dist/src/executors/openai-cli.d.ts.map +0 -1
  183. package/dist/src/executors/openai-cli.js +0 -60
  184. package/dist/src/executors/openai-cli.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import type { ExecutorRuntimeFingerprint } from '../types/index.js';
2
+ export interface ExecutorRuntimeFingerprintOptions {
3
+ skillDir?: string | null;
4
+ env?: NodeJS.ProcessEnv;
5
+ }
6
+ export declare function getExecutorRuntimeFingerprint(executorName: string, model: string, options?: ExecutorRuntimeFingerprintOptions): ExecutorRuntimeFingerprint;
7
+ //# sourceMappingURL=runtime-fingerprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-fingerprint.d.ts","sourceRoot":"","sources":["../../../src/executors/runtime-fingerprint.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGV,0BAA0B,EAG3B,MAAM,mBAAmB,CAAC;AAqL3B,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAMD,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,iCAAsC,GAC9C,0BAA0B,CA+F5B"}
@@ -0,0 +1,277 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import { createHash } from 'node:crypto';
3
+ import { existsSync, readFileSync } from 'node:fs';
4
+ import { createRequire } from 'node:module';
5
+ import { delimiter, dirname, isAbsolute, join } from 'node:path';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { buildExecEnv } from './shared.js';
8
+ const __dirname = dirname(fileURLToPath(import.meta.url));
9
+ const requireFromHere = createRequire(import.meta.url);
10
+ const RUNTIME_CACHE = new Map();
11
+ const UNKNOWN_CAPABILITIES = {
12
+ systemPrompt: 'unknown',
13
+ costUSD: 'unknown',
14
+ trace: 'unknown',
15
+ skillIsolation: 'unknown',
16
+ };
17
+ function hashString(value) {
18
+ return createHash('sha256').update(value).digest('hex').slice(0, 12);
19
+ }
20
+ function canonicalStringify(value) {
21
+ if (value === null || typeof value !== 'object')
22
+ return JSON.stringify(value);
23
+ if (Array.isArray(value))
24
+ return '[' + value.map(canonicalStringify).join(',') + ']';
25
+ const entries = Object.keys(value).sort();
26
+ return '{' + entries.map((k) => JSON.stringify(k) + ':' + canonicalStringify(value[k])).join(',') + '}';
27
+ }
28
+ function packagePathSegments(packageName) {
29
+ return packageName.split('/');
30
+ }
31
+ function findInstalledPackageJson(packageName) {
32
+ const parts = packagePathSegments(packageName);
33
+ let dir = __dirname;
34
+ for (let i = 0; i < 10; i++) {
35
+ const candidate = join(dir, 'node_modules', ...parts, 'package.json');
36
+ if (existsSync(candidate))
37
+ return candidate;
38
+ const parent = dirname(dir);
39
+ if (parent === dir)
40
+ break;
41
+ dir = parent;
42
+ }
43
+ return null;
44
+ }
45
+ function findNearestPackageJson(fromPath) {
46
+ let dir = dirname(fromPath);
47
+ for (let i = 0; i < 10; i++) {
48
+ const candidate = join(dir, 'package.json');
49
+ if (existsSync(candidate))
50
+ return candidate;
51
+ const parent = dirname(dir);
52
+ if (parent === dir)
53
+ break;
54
+ dir = parent;
55
+ }
56
+ return null;
57
+ }
58
+ function resolvePackageJson(packageName, from) {
59
+ const req = from ? createRequire(from) : requireFromHere;
60
+ try {
61
+ try {
62
+ return req.resolve(`${packageName}/package.json`);
63
+ }
64
+ catch {
65
+ const entry = req.resolve(packageName);
66
+ return findNearestPackageJson(entry);
67
+ }
68
+ }
69
+ catch {
70
+ return findInstalledPackageJson(packageName);
71
+ }
72
+ }
73
+ function readPackage(packageName, from) {
74
+ const packageJson = resolvePackageJson(packageName, from);
75
+ if (!packageJson) {
76
+ return { name: packageName, error: 'package.json not found' };
77
+ }
78
+ try {
79
+ const pkg = JSON.parse(readFileSync(packageJson, 'utf-8'));
80
+ return { name: packageName, ...(pkg.version ? { version: pkg.version } : {}) };
81
+ }
82
+ catch (err) {
83
+ return { name: packageName, error: err instanceof Error ? err.message : String(err) };
84
+ }
85
+ }
86
+ function readPackageField(packageName, field, from) {
87
+ const packageJson = resolvePackageJson(packageName, from);
88
+ if (!packageJson)
89
+ return undefined;
90
+ try {
91
+ const pkg = JSON.parse(readFileSync(packageJson, 'utf-8'));
92
+ return pkg[field];
93
+ }
94
+ catch {
95
+ return undefined;
96
+ }
97
+ }
98
+ function readCommand(command, args, env, timeout = 1000) {
99
+ try {
100
+ const output = execFileSync(command, args, {
101
+ encoding: 'utf-8',
102
+ env,
103
+ stdio: ['ignore', 'pipe', 'pipe'],
104
+ timeout,
105
+ }).trim();
106
+ return { output };
107
+ }
108
+ catch (err) {
109
+ return { error: err instanceof Error ? err.message : String(err) };
110
+ }
111
+ }
112
+ function resolvePathBinary(command, env) {
113
+ if (isAbsolute(command) && existsSync(command))
114
+ return command;
115
+ const pathValue = env.PATH || '';
116
+ const pathExt = process.platform === 'win32'
117
+ ? (env.PATHEXT || '.EXE;.CMD;.BAT;.COM').split(';')
118
+ : [''];
119
+ for (const dir of pathValue.split(delimiter).filter(Boolean)) {
120
+ for (const ext of pathExt) {
121
+ const candidate = join(dir, process.platform === 'win32' && ext && !command.toUpperCase().endsWith(ext) ? `${command}${ext}` : command);
122
+ if (existsSync(candidate))
123
+ return candidate;
124
+ }
125
+ }
126
+ return undefined;
127
+ }
128
+ function readPathBinary(command, env) {
129
+ const version = readCommand(command, ['--version'], env);
130
+ const path = resolvePathBinary(command, env);
131
+ return {
132
+ name: command,
133
+ source: 'path',
134
+ ...(version.output ? { version: version.output.split('\n')[0].trim() } : {}),
135
+ ...(path ? { path } : {}),
136
+ ...(!version.output && version.error ? { error: version.error } : {}),
137
+ };
138
+ }
139
+ function withFingerprint(input) {
140
+ const stablePayload = {
141
+ executor: input.executor,
142
+ model: input.model,
143
+ kind: input.kind,
144
+ binary: input.binary
145
+ ? {
146
+ name: input.binary.name,
147
+ source: input.binary.source,
148
+ version: input.binary.version,
149
+ status: input.binary.version ? 'ok' : input.binary.error ? 'error' : 'missing',
150
+ package: input.binary.package
151
+ ? {
152
+ name: input.binary.package.name,
153
+ version: input.binary.package.version,
154
+ status: input.binary.package.version ? 'ok' : input.binary.package.error ? 'error' : 'missing',
155
+ }
156
+ : undefined,
157
+ }
158
+ : undefined,
159
+ sdk: input.sdk
160
+ ? {
161
+ name: input.sdk.name,
162
+ version: input.sdk.version,
163
+ status: input.sdk.version ? 'ok' : input.sdk.error ? 'error' : 'missing',
164
+ }
165
+ : undefined,
166
+ capabilities: input.capabilities,
167
+ };
168
+ return { ...input, fingerprint: hashString(canonicalStringify(stablePayload)) };
169
+ }
170
+ function runtime(executor, model, kind, capabilities, extra = {}) {
171
+ return withFingerprint({
172
+ executor,
173
+ model,
174
+ kind,
175
+ capabilities,
176
+ ...extra,
177
+ });
178
+ }
179
+ function runtimeEnv(options) {
180
+ return options?.env ?? buildExecEnv(options?.skillDir);
181
+ }
182
+ export function getExecutorRuntimeFingerprint(executorName, model, options = {}) {
183
+ const env = runtimeEnv(options);
184
+ const pathHash = hashString(env.PATH || '');
185
+ const cacheKey = `${executorName}\0${model}\0${pathHash}`;
186
+ const cached = RUNTIME_CACHE.get(cacheKey);
187
+ if (cached)
188
+ return cached;
189
+ let fp;
190
+ switch (executorName) {
191
+ case 'claude': {
192
+ fp = runtime(executorName, model, 'agent-cli', {
193
+ systemPrompt: 'native',
194
+ costUSD: 'reported',
195
+ trace: 'native',
196
+ skillIsolation: 'full-no-partial',
197
+ }, { binary: readPathBinary('claude', env) });
198
+ break;
199
+ }
200
+ case 'claude-sdk': {
201
+ const sdkPackageJson = resolvePackageJson('@anthropic-ai/claude-agent-sdk');
202
+ const sdk = readPackage('@anthropic-ai/claude-agent-sdk', sdkPackageJson ?? undefined);
203
+ const claudeCodeVersion = readPackageField('@anthropic-ai/claude-agent-sdk', 'claudeCodeVersion', sdkPackageJson ?? undefined);
204
+ fp = runtime(executorName, model, 'agent-sdk', {
205
+ systemPrompt: 'native',
206
+ costUSD: 'reported',
207
+ trace: 'native',
208
+ skillIsolation: 'full',
209
+ }, {
210
+ sdk,
211
+ binary: {
212
+ name: 'claude-code',
213
+ source: 'bundled',
214
+ ...(claudeCodeVersion ? { version: claudeCodeVersion } : {}),
215
+ package: sdk,
216
+ },
217
+ });
218
+ break;
219
+ }
220
+ case 'codex': {
221
+ fp = runtime(executorName, model, 'agent-cli', {
222
+ systemPrompt: 'prepended',
223
+ costUSD: 'not-reported',
224
+ trace: 'best-effort',
225
+ skillIsolation: 'cwd-only',
226
+ }, { binary: readPathBinary('codex', env) });
227
+ break;
228
+ }
229
+ case 'codex-sdk': {
230
+ const sdkPackageJson = resolvePackageJson('@openai/codex-sdk');
231
+ const sdk = readPackage('@openai/codex-sdk', sdkPackageJson ?? undefined);
232
+ const bundledCodex = readPackage('@openai/codex', sdkPackageJson ?? undefined);
233
+ fp = runtime(executorName, model, 'agent-sdk', {
234
+ systemPrompt: 'prepended',
235
+ costUSD: 'not-reported',
236
+ trace: 'best-effort',
237
+ skillIsolation: 'cwd-only',
238
+ }, {
239
+ sdk,
240
+ binary: {
241
+ name: 'codex',
242
+ source: 'bundled',
243
+ ...(bundledCodex.version ? { version: bundledCodex.version } : {}),
244
+ package: bundledCodex,
245
+ },
246
+ });
247
+ break;
248
+ }
249
+ case 'gemini': {
250
+ fp = runtime(executorName, model, 'agent-cli', {
251
+ systemPrompt: 'prepended',
252
+ costUSD: 'not-reported',
253
+ trace: 'none',
254
+ skillIsolation: 'none',
255
+ }, { binary: readPathBinary('gemini', env) });
256
+ break;
257
+ }
258
+ case 'anthropic-api':
259
+ case 'openai-api': {
260
+ fp = runtime(executorName, model, 'api', {
261
+ systemPrompt: 'native',
262
+ costUSD: 'not-reported',
263
+ trace: 'none',
264
+ skillIsolation: 'none',
265
+ }, { binary: { name: executorName, source: 'none' } });
266
+ break;
267
+ }
268
+ default: {
269
+ fp = runtime(executorName, model, 'script', UNKNOWN_CAPABILITIES, {
270
+ binary: { name: executorName, source: 'unknown' },
271
+ });
272
+ }
273
+ }
274
+ RUNTIME_CACHE.set(cacheKey, fp);
275
+ return fp;
276
+ }
277
+ //# sourceMappingURL=runtime-fingerprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-fingerprint.js","sourceRoot":"","sources":["../../../src/executors/runtime-fingerprint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/executors/script.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAQ/E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAuEhE"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/executors/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAc/E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CA0DhE"}
@@ -1,6 +1,5 @@
1
- import { spawn } from 'node:child_process';
2
- import { DEFAULT_TIMEOUT_MS } from './shared.js';
3
- // v0.22 — script executor 由用户自定义,omk 无法保证它实现 skill 隔离。
1
+ import { DEFAULT_TIMEOUT_MS, interruptedExecResult, spawnWithSigintPropagation, timeoutExecResult, } from './shared.js';
2
+ // script executor 由用户自定义,omk 无法保证它实现 skill 隔离。
4
3
  // 任何 allowedSkills(包括 [])下都 stderr 一次性 warn,不阻塞执行,
5
4
  // 让用户知道 strict-baseline / 显式 allowedSkills 在 script executor 下静默无效。
6
5
  let scriptIsolationWarned = false;
@@ -13,60 +12,53 @@ export function createScriptExecutor(command) {
13
12
  }
14
13
  const input = JSON.stringify({ model, system: system || '', prompt });
15
14
  const start = Date.now();
16
- return new Promise((resolve) => {
17
- const parts = command.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g) || [command];
18
- const cmd = parts[0].replace(/^["']|["']$/g, '');
19
- const args = parts.slice(1).map((a) => a.replace(/^["']|["']$/g, ''));
20
- const child = spawn(cmd, args, {
21
- stdio: ['pipe', 'pipe', 'pipe'],
22
- env: { ...process.env },
23
- timeout: timeoutMs,
24
- ...(cwd && { cwd }),
25
- });
26
- let stdout = '';
27
- let stderr = '';
28
- child.stdout.on('data', (d) => { stdout += d; });
29
- child.stderr.on('data', (d) => { stderr += d; });
30
- child.on('error', (err) => {
31
- resolve({
32
- ok: false, error: `executor command failed: ${err.message}`,
33
- durationMs: Date.now() - start, durationApiMs: 0,
34
- inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheCreationTokens: 0,
35
- costUSD: 0, output: null, stopReason: 'error', numTurns: 0,
36
- });
37
- });
38
- child.on('close', (code) => {
39
- const durationMs = Date.now() - start;
40
- if (code !== 0) {
41
- resolve({
42
- ok: false, error: stderr.trim() || `executor exited with code ${code}`,
43
- durationMs, durationApiMs: 0,
44
- inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheCreationTokens: 0,
45
- costUSD: 0, output: null, stopReason: 'error', numTurns: 0,
46
- });
47
- return;
48
- }
49
- try {
50
- const data = JSON.parse(stdout);
51
- resolve({
52
- ok: true, output: data.output || '', durationMs,
53
- durationApiMs: data.durationApiMs || 0,
54
- inputTokens: data.inputTokens || 0, outputTokens: data.outputTokens || 0,
55
- cacheReadTokens: data.cacheReadTokens || 0, cacheCreationTokens: data.cacheCreationTokens || 0,
56
- costUSD: data.costUSD || 0, stopReason: data.stopReason || 'end', numTurns: data.numTurns || 1,
57
- });
58
- }
59
- catch {
60
- resolve({
61
- ok: true, output: stdout.trim(), durationMs, durationApiMs: 0,
62
- inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheCreationTokens: 0,
63
- costUSD: 0, stopReason: 'end', numTurns: 1,
64
- });
65
- }
66
- });
67
- child.stdin.write(input);
68
- child.stdin.end();
15
+ const parts = command.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g) || [command];
16
+ const cmd = parts[0].replace(/^["']|["']$/g, '');
17
+ const args = parts.slice(1).map((a) => a.replace(/^["']|["']$/g, ''));
18
+ const { child, done } = spawnWithSigintPropagation(cmd, args, {
19
+ env: { ...process.env },
20
+ timeoutMs,
21
+ ...(cwd && { cwd }),
69
22
  });
23
+ child.stdin?.write(input);
24
+ child.stdin?.end();
25
+ try {
26
+ const r = await done;
27
+ const durationMs = Date.now() - start;
28
+ try {
29
+ const data = JSON.parse(r.stdout);
30
+ return {
31
+ ok: true, output: data.output || '', durationMs,
32
+ durationApiMs: data.durationApiMs || 0,
33
+ inputTokens: data.inputTokens || 0, outputTokens: data.outputTokens || 0,
34
+ cacheReadTokens: data.cacheReadTokens || 0, cacheCreationTokens: data.cacheCreationTokens || 0,
35
+ costUSD: data.costUSD || 0, stopReason: data.stopReason || 'end', numTurns: data.numTurns || 1,
36
+ };
37
+ }
38
+ catch {
39
+ return {
40
+ ok: true, output: r.stdout.trim(), durationMs, durationApiMs: 0,
41
+ inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheCreationTokens: 0,
42
+ costUSD: 0, stopReason: 'end', numTurns: 1,
43
+ };
44
+ }
45
+ }
46
+ catch (err) {
47
+ const durationMs = Date.now() - start;
48
+ const details = err;
49
+ if (details.killedByTimeout)
50
+ return timeoutExecResult(timeoutMs, durationMs);
51
+ if (details.killedBySignal)
52
+ return interruptedExecResult(durationMs);
53
+ const stderr = (details.stderr || '').trim();
54
+ return {
55
+ ok: false,
56
+ error: stderr || details.message || `executor exited with code ${details.code ?? '?'}`,
57
+ durationMs, durationApiMs: 0,
58
+ inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheCreationTokens: 0,
59
+ costUSD: 0, output: null, stopReason: 'error', numTurns: 0,
60
+ };
61
+ }
70
62
  };
71
63
  }
72
64
  //# sourceMappingURL=script.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/executors/script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/executors/script.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { execFile } from 'node:child_process';
1
+ import { execFile, type ChildProcess } from 'node:child_process';
2
2
  import type { ExecResult } from '../types/index.js';
3
3
  export declare const execFileAsync: typeof execFile.__promisify__;
4
4
  export declare const DEFAULT_MODEL = "sonnet";
@@ -103,6 +103,44 @@ export interface ClaudeSdkResultMessage extends ClaudeSdkBaseMessage {
103
103
  export interface ClaudeSdkModule {
104
104
  query: (opts: ClaudeSdkQueryInput) => AsyncIterable<ClaudeSdkBaseMessage>;
105
105
  }
106
+ export interface CodexEvent {
107
+ type?: string;
108
+ turn_id?: string;
109
+ usage?: {
110
+ input_tokens?: number;
111
+ cached_input_tokens?: number;
112
+ output_tokens?: number;
113
+ reasoning_output_tokens?: number;
114
+ };
115
+ elapsed_ms?: number;
116
+ stop_reason?: string;
117
+ item?: {
118
+ id?: string;
119
+ type?: string;
120
+ text?: string;
121
+ command?: string;
122
+ aggregated_output?: string;
123
+ exit_code?: number | null;
124
+ status?: string;
125
+ path?: string;
126
+ content?: string;
127
+ query?: string;
128
+ results?: unknown[];
129
+ changes?: Array<{
130
+ path?: string;
131
+ kind?: string;
132
+ }>;
133
+ server?: string;
134
+ tool?: string;
135
+ arguments?: unknown;
136
+ result?: unknown;
137
+ message?: string;
138
+ };
139
+ error?: {
140
+ message?: string;
141
+ };
142
+ ts?: number;
143
+ }
106
144
  export interface ExecutorErrorLike {
107
145
  message?: string;
108
146
  name?: string;
@@ -114,4 +152,43 @@ export declare function errorMessage(err: unknown, fallback?: string): string;
114
152
  export declare function parseJson<T>(content: string): T;
115
153
  export declare function buildExecEnv(skillDir?: string | null): NodeJS.ProcessEnv;
116
154
  export declare function timeoutExecResult(timeoutMs: number, durationMs: number): ExecResult;
155
+ export declare function interruptedExecResult(durationMs: number): ExecResult;
156
+ export declare function __resetSigintRegistryForTest(): void;
157
+ export interface SpawnHelperResult {
158
+ stdout: string;
159
+ stderr: string;
160
+ code: number | null;
161
+ signal: NodeJS.Signals | null;
162
+ killedByTimeout: boolean;
163
+ killedBySignal: NodeJS.Signals | null;
164
+ }
165
+ export interface SpawnHelperError extends Error {
166
+ stdout?: string;
167
+ stderr?: string;
168
+ code?: number | null;
169
+ signal?: NodeJS.Signals | null;
170
+ killedByTimeout?: boolean;
171
+ killedBySignal?: NodeJS.Signals | null;
172
+ }
173
+ export interface SpawnHelperOptions {
174
+ cwd?: string;
175
+ env?: NodeJS.ProcessEnv;
176
+ /** kill child after this many ms; reject with killedByTimeout=true */
177
+ timeoutMs?: number;
178
+ /** stdout overflow threshold; reject when累计超限 */
179
+ maxBuffer?: number;
180
+ /** external abort signal; abort() 走跟 SIGINT 同一 grace 路径 */
181
+ abortSignal?: AbortSignal;
182
+ }
183
+ /**
184
+ * spawn child + 注册到全局 SIGINT registry。返回 { child, done } 让 caller 自己
185
+ * 操作 stdin(写入 / 关闭),通过 done 等结果。
186
+ *
187
+ * 适用:claude / codex / gemini / script CLI 子进程。HTTP executor(*-api)用 fetch +
188
+ * AbortSignal.timeout,自带 abort,不走这个。claude-sdk in-process 也不走。
189
+ */
190
+ export declare function spawnWithSigintPropagation(command: string, args: string[], options?: SpawnHelperOptions): {
191
+ child: ChildProcess;
192
+ done: Promise<SpawnHelperResult>;
193
+ };
117
194
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/executors/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/executors/shared.ts"],"names":[],"mappings":"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"}