windows-exe-decompiler-mcp-server 0.1.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 (190) hide show
  1. package/CODEX_INSTALLATION.md +69 -0
  2. package/COPILOT_INSTALLATION.md +77 -0
  3. package/LICENSE +21 -0
  4. package/README.md +314 -0
  5. package/bin/windows-exe-decompiler-mcp-server.js +3 -0
  6. package/dist/analysis-provenance.d.ts +184 -0
  7. package/dist/analysis-provenance.js +74 -0
  8. package/dist/analysis-task-runner.d.ts +31 -0
  9. package/dist/analysis-task-runner.js +160 -0
  10. package/dist/artifact-inventory.d.ts +23 -0
  11. package/dist/artifact-inventory.js +175 -0
  12. package/dist/cache-manager.d.ts +128 -0
  13. package/dist/cache-manager.js +454 -0
  14. package/dist/confidence-semantics.d.ts +66 -0
  15. package/dist/confidence-semantics.js +122 -0
  16. package/dist/config.d.ts +335 -0
  17. package/dist/config.js +193 -0
  18. package/dist/database.d.ts +227 -0
  19. package/dist/database.js +601 -0
  20. package/dist/decompiler-worker.d.ts +441 -0
  21. package/dist/decompiler-worker.js +1962 -0
  22. package/dist/dynamic-trace.d.ts +95 -0
  23. package/dist/dynamic-trace.js +629 -0
  24. package/dist/env-validator.d.ts +15 -0
  25. package/dist/env-validator.js +249 -0
  26. package/dist/error-handler.d.ts +28 -0
  27. package/dist/error-handler.example.d.ts +22 -0
  28. package/dist/error-handler.example.js +141 -0
  29. package/dist/error-handler.js +139 -0
  30. package/dist/ghidra-analysis-status.d.ts +49 -0
  31. package/dist/ghidra-analysis-status.js +178 -0
  32. package/dist/ghidra-config.d.ts +134 -0
  33. package/dist/ghidra-config.js +464 -0
  34. package/dist/index.d.ts +9 -0
  35. package/dist/index.js +200 -0
  36. package/dist/job-queue.d.ts +169 -0
  37. package/dist/job-queue.js +407 -0
  38. package/dist/logger.d.ts +106 -0
  39. package/dist/logger.js +176 -0
  40. package/dist/policy-guard.d.ts +115 -0
  41. package/dist/policy-guard.js +243 -0
  42. package/dist/process-output.d.ts +15 -0
  43. package/dist/process-output.js +90 -0
  44. package/dist/prompts/function-explanation-review.d.ts +5 -0
  45. package/dist/prompts/function-explanation-review.js +64 -0
  46. package/dist/prompts/semantic-name-review.d.ts +5 -0
  47. package/dist/prompts/semantic-name-review.js +63 -0
  48. package/dist/runtime-correlation.d.ts +34 -0
  49. package/dist/runtime-correlation.js +279 -0
  50. package/dist/runtime-paths.d.ts +3 -0
  51. package/dist/runtime-paths.js +11 -0
  52. package/dist/selection-diff.d.ts +667 -0
  53. package/dist/selection-diff.js +53 -0
  54. package/dist/semantic-name-suggestion-artifacts.d.ts +116 -0
  55. package/dist/semantic-name-suggestion-artifacts.js +314 -0
  56. package/dist/server.d.ts +129 -0
  57. package/dist/server.js +578 -0
  58. package/dist/tools/artifact-read.d.ts +235 -0
  59. package/dist/tools/artifact-read.js +317 -0
  60. package/dist/tools/artifacts-diff.d.ts +728 -0
  61. package/dist/tools/artifacts-diff.js +304 -0
  62. package/dist/tools/artifacts-list.d.ts +515 -0
  63. package/dist/tools/artifacts-list.js +389 -0
  64. package/dist/tools/attack-map.d.ts +290 -0
  65. package/dist/tools/attack-map.js +519 -0
  66. package/dist/tools/cache-observability.d.ts +4 -0
  67. package/dist/tools/cache-observability.js +36 -0
  68. package/dist/tools/code-function-cfg.d.ts +50 -0
  69. package/dist/tools/code-function-cfg.js +102 -0
  70. package/dist/tools/code-function-decompile.d.ts +55 -0
  71. package/dist/tools/code-function-decompile.js +103 -0
  72. package/dist/tools/code-function-disassemble.d.ts +43 -0
  73. package/dist/tools/code-function-disassemble.js +185 -0
  74. package/dist/tools/code-function-explain-apply.d.ts +255 -0
  75. package/dist/tools/code-function-explain-apply.js +225 -0
  76. package/dist/tools/code-function-explain-prepare.d.ts +535 -0
  77. package/dist/tools/code-function-explain-prepare.js +276 -0
  78. package/dist/tools/code-function-explain-review.d.ts +397 -0
  79. package/dist/tools/code-function-explain-review.js +589 -0
  80. package/dist/tools/code-function-rename-apply.d.ts +248 -0
  81. package/dist/tools/code-function-rename-apply.js +220 -0
  82. package/dist/tools/code-function-rename-prepare.d.ts +506 -0
  83. package/dist/tools/code-function-rename-prepare.js +279 -0
  84. package/dist/tools/code-function-rename-review.d.ts +574 -0
  85. package/dist/tools/code-function-rename-review.js +761 -0
  86. package/dist/tools/code-functions-list.d.ts +37 -0
  87. package/dist/tools/code-functions-list.js +91 -0
  88. package/dist/tools/code-functions-rank.d.ts +34 -0
  89. package/dist/tools/code-functions-rank.js +90 -0
  90. package/dist/tools/code-functions-reconstruct.d.ts +2725 -0
  91. package/dist/tools/code-functions-reconstruct.js +2807 -0
  92. package/dist/tools/code-functions-search.d.ts +39 -0
  93. package/dist/tools/code-functions-search.js +90 -0
  94. package/dist/tools/code-reconstruct-export.d.ts +1212 -0
  95. package/dist/tools/code-reconstruct-export.js +4002 -0
  96. package/dist/tools/code-reconstruct-plan.d.ts +274 -0
  97. package/dist/tools/code-reconstruct-plan.js +342 -0
  98. package/dist/tools/dotnet-metadata-extract.d.ts +541 -0
  99. package/dist/tools/dotnet-metadata-extract.js +355 -0
  100. package/dist/tools/dotnet-reconstruct-export.d.ts +567 -0
  101. package/dist/tools/dotnet-reconstruct-export.js +1151 -0
  102. package/dist/tools/dotnet-types-list.d.ts +325 -0
  103. package/dist/tools/dotnet-types-list.js +201 -0
  104. package/dist/tools/dynamic-dependencies.d.ts +115 -0
  105. package/dist/tools/dynamic-dependencies.js +213 -0
  106. package/dist/tools/dynamic-memory-import.d.ts +10 -0
  107. package/dist/tools/dynamic-memory-import.js +567 -0
  108. package/dist/tools/dynamic-trace-import.d.ts +10 -0
  109. package/dist/tools/dynamic-trace-import.js +235 -0
  110. package/dist/tools/entrypoint-fallback-disasm.d.ts +30 -0
  111. package/dist/tools/entrypoint-fallback-disasm.js +89 -0
  112. package/dist/tools/ghidra-analyze.d.ts +88 -0
  113. package/dist/tools/ghidra-analyze.js +208 -0
  114. package/dist/tools/ghidra-health.d.ts +37 -0
  115. package/dist/tools/ghidra-health.js +212 -0
  116. package/dist/tools/ioc-export.d.ts +209 -0
  117. package/dist/tools/ioc-export.js +542 -0
  118. package/dist/tools/packer-detect.d.ts +165 -0
  119. package/dist/tools/packer-detect.js +284 -0
  120. package/dist/tools/pe-exports-extract.d.ts +175 -0
  121. package/dist/tools/pe-exports-extract.js +253 -0
  122. package/dist/tools/pe-fingerprint.d.ts +234 -0
  123. package/dist/tools/pe-fingerprint.js +269 -0
  124. package/dist/tools/pe-imports-extract.d.ts +105 -0
  125. package/dist/tools/pe-imports-extract.js +245 -0
  126. package/dist/tools/report-generate.d.ts +157 -0
  127. package/dist/tools/report-generate.js +457 -0
  128. package/dist/tools/report-summarize.d.ts +2131 -0
  129. package/dist/tools/report-summarize.js +596 -0
  130. package/dist/tools/runtime-detect.d.ts +135 -0
  131. package/dist/tools/runtime-detect.js +247 -0
  132. package/dist/tools/sample-ingest.d.ts +94 -0
  133. package/dist/tools/sample-ingest.js +327 -0
  134. package/dist/tools/sample-profile-get.d.ts +183 -0
  135. package/dist/tools/sample-profile-get.js +121 -0
  136. package/dist/tools/sandbox-execute.d.ts +441 -0
  137. package/dist/tools/sandbox-execute.js +392 -0
  138. package/dist/tools/strings-extract.d.ts +375 -0
  139. package/dist/tools/strings-extract.js +314 -0
  140. package/dist/tools/strings-floss-decode.d.ts +143 -0
  141. package/dist/tools/strings-floss-decode.js +259 -0
  142. package/dist/tools/system-health.d.ts +434 -0
  143. package/dist/tools/system-health.js +446 -0
  144. package/dist/tools/task-cancel.d.ts +21 -0
  145. package/dist/tools/task-cancel.js +70 -0
  146. package/dist/tools/task-status.d.ts +27 -0
  147. package/dist/tools/task-status.js +106 -0
  148. package/dist/tools/task-sweep.d.ts +22 -0
  149. package/dist/tools/task-sweep.js +77 -0
  150. package/dist/tools/tool-help.d.ts +340 -0
  151. package/dist/tools/tool-help.js +261 -0
  152. package/dist/tools/yara-scan.d.ts +554 -0
  153. package/dist/tools/yara-scan.js +313 -0
  154. package/dist/types.d.ts +266 -0
  155. package/dist/types.js +41 -0
  156. package/dist/worker-pool.d.ts +204 -0
  157. package/dist/worker-pool.js +650 -0
  158. package/dist/workflows/deep-static.d.ts +104 -0
  159. package/dist/workflows/deep-static.js +276 -0
  160. package/dist/workflows/function-explanation-review.d.ts +655 -0
  161. package/dist/workflows/function-explanation-review.js +440 -0
  162. package/dist/workflows/reconstruct.d.ts +2053 -0
  163. package/dist/workflows/reconstruct.js +666 -0
  164. package/dist/workflows/semantic-name-review.d.ts +2418 -0
  165. package/dist/workflows/semantic-name-review.js +521 -0
  166. package/dist/workflows/triage.d.ts +659 -0
  167. package/dist/workflows/triage.js +1374 -0
  168. package/dist/workspace-manager.d.ts +150 -0
  169. package/dist/workspace-manager.js +411 -0
  170. package/ghidra_scripts/DecompileFunction.java +487 -0
  171. package/ghidra_scripts/DecompileFunction.py +150 -0
  172. package/ghidra_scripts/ExtractCFG.java +256 -0
  173. package/ghidra_scripts/ExtractCFG.py +233 -0
  174. package/ghidra_scripts/ExtractFunctions.java +442 -0
  175. package/ghidra_scripts/ExtractFunctions.py +101 -0
  176. package/ghidra_scripts/README.md +125 -0
  177. package/ghidra_scripts/SearchFunctionReferences.java +380 -0
  178. package/helpers/DotNetMetadataProbe/DotNetMetadataProbe.csproj +9 -0
  179. package/helpers/DotNetMetadataProbe/Program.cs +566 -0
  180. package/install-to-codex.ps1 +178 -0
  181. package/install-to-copilot.ps1 +303 -0
  182. package/package.json +101 -0
  183. package/requirements.txt +9 -0
  184. package/workers/requirements-dynamic.txt +11 -0
  185. package/workers/requirements.txt +8 -0
  186. package/workers/speakeasy_compat.py +175 -0
  187. package/workers/static_worker.py +5183 -0
  188. package/workers/yara_rules/default.yar +33 -0
  189. package/workers/yara_rules/malware_families.yar +93 -0
  190. package/workers/yara_rules/packers.yar +80 -0
@@ -0,0 +1,728 @@
1
+ import { z } from 'zod';
2
+ import type { ToolDefinition, ToolArgs, WorkerResult } from '../types.js';
3
+ import type { WorkspaceManager } from '../workspace-manager.js';
4
+ import type { DatabaseManager } from '../database.js';
5
+ export declare const artifactsDiffInputSchema: z.ZodObject<{
6
+ sample_id: z.ZodString;
7
+ left_session_tag: z.ZodString;
8
+ right_session_tag: z.ZodString;
9
+ artifact_type: z.ZodOptional<z.ZodString>;
10
+ artifact_types: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
+ path_prefix: z.ZodOptional<z.ZodString>;
12
+ include_untracked_files: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
13
+ recursive: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14
+ scan_roots: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
15
+ match_by: z.ZodDefault<z.ZodEnum<["type_path", "path", "type"]>>;
16
+ latest_per_key: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ sample_id: string;
19
+ recursive: boolean;
20
+ include_untracked_files: boolean;
21
+ scan_roots: string[];
22
+ left_session_tag: string;
23
+ right_session_tag: string;
24
+ match_by: "path" | "type" | "type_path";
25
+ latest_per_key: boolean;
26
+ artifact_type?: string | undefined;
27
+ artifact_types?: string[] | undefined;
28
+ path_prefix?: string | undefined;
29
+ }, {
30
+ sample_id: string;
31
+ left_session_tag: string;
32
+ right_session_tag: string;
33
+ recursive?: boolean | undefined;
34
+ artifact_type?: string | undefined;
35
+ include_untracked_files?: boolean | undefined;
36
+ scan_roots?: string[] | undefined;
37
+ artifact_types?: string[] | undefined;
38
+ path_prefix?: string | undefined;
39
+ match_by?: "path" | "type" | "type_path" | undefined;
40
+ latest_per_key?: boolean | undefined;
41
+ }>;
42
+ export declare const artifactsDiffOutputSchema: z.ZodObject<{
43
+ ok: z.ZodBoolean;
44
+ data: z.ZodOptional<z.ZodObject<{
45
+ sample_id: z.ZodString;
46
+ left_session_tag: z.ZodString;
47
+ right_session_tag: z.ZodString;
48
+ artifact_type: z.ZodNullable<z.ZodString>;
49
+ artifact_types: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
50
+ path_prefix: z.ZodNullable<z.ZodString>;
51
+ match_by: z.ZodEnum<["type_path", "path", "type"]>;
52
+ latest_per_key: z.ZodBoolean;
53
+ tool_version: z.ZodString;
54
+ left_count: z.ZodNumber;
55
+ right_count: z.ZodNumber;
56
+ added: z.ZodArray<z.ZodObject<{
57
+ key: z.ZodString;
58
+ artifact: z.ZodObject<{
59
+ id: z.ZodString;
60
+ type: z.ZodString;
61
+ path: z.ZodString;
62
+ sha256: z.ZodString;
63
+ created_at: z.ZodString;
64
+ exists: z.ZodBoolean;
65
+ tracked: z.ZodBoolean;
66
+ size_bytes: z.ZodNullable<z.ZodNumber>;
67
+ modified_at: z.ZodNullable<z.ZodString>;
68
+ retention_bucket: z.ZodEnum<["active", "recent", "archive"]>;
69
+ age_days: z.ZodNumber;
70
+ }, "strip", z.ZodTypeAny, {
71
+ path: string;
72
+ type: string;
73
+ id: string;
74
+ exists: boolean;
75
+ size_bytes: number | null;
76
+ tracked: boolean;
77
+ age_days: number;
78
+ modified_at: string | null;
79
+ retention_bucket: "active" | "recent" | "archive";
80
+ sha256: string;
81
+ created_at: string;
82
+ }, {
83
+ path: string;
84
+ type: string;
85
+ id: string;
86
+ exists: boolean;
87
+ size_bytes: number | null;
88
+ tracked: boolean;
89
+ age_days: number;
90
+ modified_at: string | null;
91
+ retention_bucket: "active" | "recent" | "archive";
92
+ sha256: string;
93
+ created_at: string;
94
+ }>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ artifact: {
97
+ path: string;
98
+ type: string;
99
+ id: string;
100
+ exists: boolean;
101
+ size_bytes: number | null;
102
+ tracked: boolean;
103
+ age_days: number;
104
+ modified_at: string | null;
105
+ retention_bucket: "active" | "recent" | "archive";
106
+ sha256: string;
107
+ created_at: string;
108
+ };
109
+ key: string;
110
+ }, {
111
+ artifact: {
112
+ path: string;
113
+ type: string;
114
+ id: string;
115
+ exists: boolean;
116
+ size_bytes: number | null;
117
+ tracked: boolean;
118
+ age_days: number;
119
+ modified_at: string | null;
120
+ retention_bucket: "active" | "recent" | "archive";
121
+ sha256: string;
122
+ created_at: string;
123
+ };
124
+ key: string;
125
+ }>, "many">;
126
+ removed: z.ZodArray<z.ZodObject<{
127
+ key: z.ZodString;
128
+ artifact: z.ZodObject<{
129
+ id: z.ZodString;
130
+ type: z.ZodString;
131
+ path: z.ZodString;
132
+ sha256: z.ZodString;
133
+ created_at: z.ZodString;
134
+ exists: z.ZodBoolean;
135
+ tracked: z.ZodBoolean;
136
+ size_bytes: z.ZodNullable<z.ZodNumber>;
137
+ modified_at: z.ZodNullable<z.ZodString>;
138
+ retention_bucket: z.ZodEnum<["active", "recent", "archive"]>;
139
+ age_days: z.ZodNumber;
140
+ }, "strip", z.ZodTypeAny, {
141
+ path: string;
142
+ type: string;
143
+ id: string;
144
+ exists: boolean;
145
+ size_bytes: number | null;
146
+ tracked: boolean;
147
+ age_days: number;
148
+ modified_at: string | null;
149
+ retention_bucket: "active" | "recent" | "archive";
150
+ sha256: string;
151
+ created_at: string;
152
+ }, {
153
+ path: string;
154
+ type: string;
155
+ id: string;
156
+ exists: boolean;
157
+ size_bytes: number | null;
158
+ tracked: boolean;
159
+ age_days: number;
160
+ modified_at: string | null;
161
+ retention_bucket: "active" | "recent" | "archive";
162
+ sha256: string;
163
+ created_at: string;
164
+ }>;
165
+ }, "strip", z.ZodTypeAny, {
166
+ artifact: {
167
+ path: string;
168
+ type: string;
169
+ id: string;
170
+ exists: boolean;
171
+ size_bytes: number | null;
172
+ tracked: boolean;
173
+ age_days: number;
174
+ modified_at: string | null;
175
+ retention_bucket: "active" | "recent" | "archive";
176
+ sha256: string;
177
+ created_at: string;
178
+ };
179
+ key: string;
180
+ }, {
181
+ artifact: {
182
+ path: string;
183
+ type: string;
184
+ id: string;
185
+ exists: boolean;
186
+ size_bytes: number | null;
187
+ tracked: boolean;
188
+ age_days: number;
189
+ modified_at: string | null;
190
+ retention_bucket: "active" | "recent" | "archive";
191
+ sha256: string;
192
+ created_at: string;
193
+ };
194
+ key: string;
195
+ }>, "many">;
196
+ changed: z.ZodArray<z.ZodObject<{
197
+ key: z.ZodString;
198
+ differences: z.ZodArray<z.ZodString, "many">;
199
+ left: z.ZodObject<{
200
+ id: z.ZodString;
201
+ type: z.ZodString;
202
+ path: z.ZodString;
203
+ sha256: z.ZodString;
204
+ created_at: z.ZodString;
205
+ exists: z.ZodBoolean;
206
+ tracked: z.ZodBoolean;
207
+ size_bytes: z.ZodNullable<z.ZodNumber>;
208
+ modified_at: z.ZodNullable<z.ZodString>;
209
+ retention_bucket: z.ZodEnum<["active", "recent", "archive"]>;
210
+ age_days: z.ZodNumber;
211
+ }, "strip", z.ZodTypeAny, {
212
+ path: string;
213
+ type: string;
214
+ id: string;
215
+ exists: boolean;
216
+ size_bytes: number | null;
217
+ tracked: boolean;
218
+ age_days: number;
219
+ modified_at: string | null;
220
+ retention_bucket: "active" | "recent" | "archive";
221
+ sha256: string;
222
+ created_at: string;
223
+ }, {
224
+ path: string;
225
+ type: string;
226
+ id: string;
227
+ exists: boolean;
228
+ size_bytes: number | null;
229
+ tracked: boolean;
230
+ age_days: number;
231
+ modified_at: string | null;
232
+ retention_bucket: "active" | "recent" | "archive";
233
+ sha256: string;
234
+ created_at: string;
235
+ }>;
236
+ right: z.ZodObject<{
237
+ id: z.ZodString;
238
+ type: z.ZodString;
239
+ path: z.ZodString;
240
+ sha256: z.ZodString;
241
+ created_at: z.ZodString;
242
+ exists: z.ZodBoolean;
243
+ tracked: z.ZodBoolean;
244
+ size_bytes: z.ZodNullable<z.ZodNumber>;
245
+ modified_at: z.ZodNullable<z.ZodString>;
246
+ retention_bucket: z.ZodEnum<["active", "recent", "archive"]>;
247
+ age_days: z.ZodNumber;
248
+ }, "strip", z.ZodTypeAny, {
249
+ path: string;
250
+ type: string;
251
+ id: string;
252
+ exists: boolean;
253
+ size_bytes: number | null;
254
+ tracked: boolean;
255
+ age_days: number;
256
+ modified_at: string | null;
257
+ retention_bucket: "active" | "recent" | "archive";
258
+ sha256: string;
259
+ created_at: string;
260
+ }, {
261
+ path: string;
262
+ type: string;
263
+ id: string;
264
+ exists: boolean;
265
+ size_bytes: number | null;
266
+ tracked: boolean;
267
+ age_days: number;
268
+ modified_at: string | null;
269
+ retention_bucket: "active" | "recent" | "archive";
270
+ sha256: string;
271
+ created_at: string;
272
+ }>;
273
+ }, "strip", z.ZodTypeAny, {
274
+ key: string;
275
+ differences: string[];
276
+ left: {
277
+ path: string;
278
+ type: string;
279
+ id: string;
280
+ exists: boolean;
281
+ size_bytes: number | null;
282
+ tracked: boolean;
283
+ age_days: number;
284
+ modified_at: string | null;
285
+ retention_bucket: "active" | "recent" | "archive";
286
+ sha256: string;
287
+ created_at: string;
288
+ };
289
+ right: {
290
+ path: string;
291
+ type: string;
292
+ id: string;
293
+ exists: boolean;
294
+ size_bytes: number | null;
295
+ tracked: boolean;
296
+ age_days: number;
297
+ modified_at: string | null;
298
+ retention_bucket: "active" | "recent" | "archive";
299
+ sha256: string;
300
+ created_at: string;
301
+ };
302
+ }, {
303
+ key: string;
304
+ differences: string[];
305
+ left: {
306
+ path: string;
307
+ type: string;
308
+ id: string;
309
+ exists: boolean;
310
+ size_bytes: number | null;
311
+ tracked: boolean;
312
+ age_days: number;
313
+ modified_at: string | null;
314
+ retention_bucket: "active" | "recent" | "archive";
315
+ sha256: string;
316
+ created_at: string;
317
+ };
318
+ right: {
319
+ path: string;
320
+ type: string;
321
+ id: string;
322
+ exists: boolean;
323
+ size_bytes: number | null;
324
+ tracked: boolean;
325
+ age_days: number;
326
+ modified_at: string | null;
327
+ retention_bucket: "active" | "recent" | "archive";
328
+ sha256: string;
329
+ created_at: string;
330
+ };
331
+ }>, "many">;
332
+ unchanged_count: z.ZodNumber;
333
+ summary: z.ZodObject<{
334
+ added_count: z.ZodNumber;
335
+ removed_count: z.ZodNumber;
336
+ changed_count: z.ZodNumber;
337
+ unchanged_count: z.ZodNumber;
338
+ changed_fields: z.ZodRecord<z.ZodString, z.ZodNumber>;
339
+ left_types: z.ZodArray<z.ZodString, "many">;
340
+ right_types: z.ZodArray<z.ZodString, "many">;
341
+ }, "strip", z.ZodTypeAny, {
342
+ unchanged_count: number;
343
+ added_count: number;
344
+ removed_count: number;
345
+ changed_count: number;
346
+ changed_fields: Record<string, number>;
347
+ left_types: string[];
348
+ right_types: string[];
349
+ }, {
350
+ unchanged_count: number;
351
+ added_count: number;
352
+ removed_count: number;
353
+ changed_count: number;
354
+ changed_fields: Record<string, number>;
355
+ left_types: string[];
356
+ right_types: string[];
357
+ }>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ sample_id: string;
360
+ summary: {
361
+ unchanged_count: number;
362
+ added_count: number;
363
+ removed_count: number;
364
+ changed_count: number;
365
+ changed_fields: Record<string, number>;
366
+ left_types: string[];
367
+ right_types: string[];
368
+ };
369
+ tool_version: string;
370
+ artifact_type: string | null;
371
+ artifact_types: string[] | null;
372
+ path_prefix: string | null;
373
+ left_session_tag: string;
374
+ right_session_tag: string;
375
+ match_by: "path" | "type" | "type_path";
376
+ latest_per_key: boolean;
377
+ left_count: number;
378
+ right_count: number;
379
+ added: {
380
+ artifact: {
381
+ path: string;
382
+ type: string;
383
+ id: string;
384
+ exists: boolean;
385
+ size_bytes: number | null;
386
+ tracked: boolean;
387
+ age_days: number;
388
+ modified_at: string | null;
389
+ retention_bucket: "active" | "recent" | "archive";
390
+ sha256: string;
391
+ created_at: string;
392
+ };
393
+ key: string;
394
+ }[];
395
+ removed: {
396
+ artifact: {
397
+ path: string;
398
+ type: string;
399
+ id: string;
400
+ exists: boolean;
401
+ size_bytes: number | null;
402
+ tracked: boolean;
403
+ age_days: number;
404
+ modified_at: string | null;
405
+ retention_bucket: "active" | "recent" | "archive";
406
+ sha256: string;
407
+ created_at: string;
408
+ };
409
+ key: string;
410
+ }[];
411
+ changed: {
412
+ key: string;
413
+ differences: string[];
414
+ left: {
415
+ path: string;
416
+ type: string;
417
+ id: string;
418
+ exists: boolean;
419
+ size_bytes: number | null;
420
+ tracked: boolean;
421
+ age_days: number;
422
+ modified_at: string | null;
423
+ retention_bucket: "active" | "recent" | "archive";
424
+ sha256: string;
425
+ created_at: string;
426
+ };
427
+ right: {
428
+ path: string;
429
+ type: string;
430
+ id: string;
431
+ exists: boolean;
432
+ size_bytes: number | null;
433
+ tracked: boolean;
434
+ age_days: number;
435
+ modified_at: string | null;
436
+ retention_bucket: "active" | "recent" | "archive";
437
+ sha256: string;
438
+ created_at: string;
439
+ };
440
+ }[];
441
+ unchanged_count: number;
442
+ }, {
443
+ sample_id: string;
444
+ summary: {
445
+ unchanged_count: number;
446
+ added_count: number;
447
+ removed_count: number;
448
+ changed_count: number;
449
+ changed_fields: Record<string, number>;
450
+ left_types: string[];
451
+ right_types: string[];
452
+ };
453
+ tool_version: string;
454
+ artifact_type: string | null;
455
+ artifact_types: string[] | null;
456
+ path_prefix: string | null;
457
+ left_session_tag: string;
458
+ right_session_tag: string;
459
+ match_by: "path" | "type" | "type_path";
460
+ latest_per_key: boolean;
461
+ left_count: number;
462
+ right_count: number;
463
+ added: {
464
+ artifact: {
465
+ path: string;
466
+ type: string;
467
+ id: string;
468
+ exists: boolean;
469
+ size_bytes: number | null;
470
+ tracked: boolean;
471
+ age_days: number;
472
+ modified_at: string | null;
473
+ retention_bucket: "active" | "recent" | "archive";
474
+ sha256: string;
475
+ created_at: string;
476
+ };
477
+ key: string;
478
+ }[];
479
+ removed: {
480
+ artifact: {
481
+ path: string;
482
+ type: string;
483
+ id: string;
484
+ exists: boolean;
485
+ size_bytes: number | null;
486
+ tracked: boolean;
487
+ age_days: number;
488
+ modified_at: string | null;
489
+ retention_bucket: "active" | "recent" | "archive";
490
+ sha256: string;
491
+ created_at: string;
492
+ };
493
+ key: string;
494
+ }[];
495
+ changed: {
496
+ key: string;
497
+ differences: string[];
498
+ left: {
499
+ path: string;
500
+ type: string;
501
+ id: string;
502
+ exists: boolean;
503
+ size_bytes: number | null;
504
+ tracked: boolean;
505
+ age_days: number;
506
+ modified_at: string | null;
507
+ retention_bucket: "active" | "recent" | "archive";
508
+ sha256: string;
509
+ created_at: string;
510
+ };
511
+ right: {
512
+ path: string;
513
+ type: string;
514
+ id: string;
515
+ exists: boolean;
516
+ size_bytes: number | null;
517
+ tracked: boolean;
518
+ age_days: number;
519
+ modified_at: string | null;
520
+ retention_bucket: "active" | "recent" | "archive";
521
+ sha256: string;
522
+ created_at: string;
523
+ };
524
+ }[];
525
+ unchanged_count: number;
526
+ }>>;
527
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
528
+ errors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
529
+ metrics: z.ZodOptional<z.ZodObject<{
530
+ elapsed_ms: z.ZodNumber;
531
+ tool: z.ZodString;
532
+ }, "strip", z.ZodTypeAny, {
533
+ elapsed_ms: number;
534
+ tool: string;
535
+ }, {
536
+ elapsed_ms: number;
537
+ tool: string;
538
+ }>>;
539
+ }, "strip", z.ZodTypeAny, {
540
+ ok: boolean;
541
+ metrics?: {
542
+ elapsed_ms: number;
543
+ tool: string;
544
+ } | undefined;
545
+ data?: {
546
+ sample_id: string;
547
+ summary: {
548
+ unchanged_count: number;
549
+ added_count: number;
550
+ removed_count: number;
551
+ changed_count: number;
552
+ changed_fields: Record<string, number>;
553
+ left_types: string[];
554
+ right_types: string[];
555
+ };
556
+ tool_version: string;
557
+ artifact_type: string | null;
558
+ artifact_types: string[] | null;
559
+ path_prefix: string | null;
560
+ left_session_tag: string;
561
+ right_session_tag: string;
562
+ match_by: "path" | "type" | "type_path";
563
+ latest_per_key: boolean;
564
+ left_count: number;
565
+ right_count: number;
566
+ added: {
567
+ artifact: {
568
+ path: string;
569
+ type: string;
570
+ id: string;
571
+ exists: boolean;
572
+ size_bytes: number | null;
573
+ tracked: boolean;
574
+ age_days: number;
575
+ modified_at: string | null;
576
+ retention_bucket: "active" | "recent" | "archive";
577
+ sha256: string;
578
+ created_at: string;
579
+ };
580
+ key: string;
581
+ }[];
582
+ removed: {
583
+ artifact: {
584
+ path: string;
585
+ type: string;
586
+ id: string;
587
+ exists: boolean;
588
+ size_bytes: number | null;
589
+ tracked: boolean;
590
+ age_days: number;
591
+ modified_at: string | null;
592
+ retention_bucket: "active" | "recent" | "archive";
593
+ sha256: string;
594
+ created_at: string;
595
+ };
596
+ key: string;
597
+ }[];
598
+ changed: {
599
+ key: string;
600
+ differences: string[];
601
+ left: {
602
+ path: string;
603
+ type: string;
604
+ id: string;
605
+ exists: boolean;
606
+ size_bytes: number | null;
607
+ tracked: boolean;
608
+ age_days: number;
609
+ modified_at: string | null;
610
+ retention_bucket: "active" | "recent" | "archive";
611
+ sha256: string;
612
+ created_at: string;
613
+ };
614
+ right: {
615
+ path: string;
616
+ type: string;
617
+ id: string;
618
+ exists: boolean;
619
+ size_bytes: number | null;
620
+ tracked: boolean;
621
+ age_days: number;
622
+ modified_at: string | null;
623
+ retention_bucket: "active" | "recent" | "archive";
624
+ sha256: string;
625
+ created_at: string;
626
+ };
627
+ }[];
628
+ unchanged_count: number;
629
+ } | undefined;
630
+ warnings?: string[] | undefined;
631
+ errors?: string[] | undefined;
632
+ }, {
633
+ ok: boolean;
634
+ metrics?: {
635
+ elapsed_ms: number;
636
+ tool: string;
637
+ } | undefined;
638
+ data?: {
639
+ sample_id: string;
640
+ summary: {
641
+ unchanged_count: number;
642
+ added_count: number;
643
+ removed_count: number;
644
+ changed_count: number;
645
+ changed_fields: Record<string, number>;
646
+ left_types: string[];
647
+ right_types: string[];
648
+ };
649
+ tool_version: string;
650
+ artifact_type: string | null;
651
+ artifact_types: string[] | null;
652
+ path_prefix: string | null;
653
+ left_session_tag: string;
654
+ right_session_tag: string;
655
+ match_by: "path" | "type" | "type_path";
656
+ latest_per_key: boolean;
657
+ left_count: number;
658
+ right_count: number;
659
+ added: {
660
+ artifact: {
661
+ path: string;
662
+ type: string;
663
+ id: string;
664
+ exists: boolean;
665
+ size_bytes: number | null;
666
+ tracked: boolean;
667
+ age_days: number;
668
+ modified_at: string | null;
669
+ retention_bucket: "active" | "recent" | "archive";
670
+ sha256: string;
671
+ created_at: string;
672
+ };
673
+ key: string;
674
+ }[];
675
+ removed: {
676
+ artifact: {
677
+ path: string;
678
+ type: string;
679
+ id: string;
680
+ exists: boolean;
681
+ size_bytes: number | null;
682
+ tracked: boolean;
683
+ age_days: number;
684
+ modified_at: string | null;
685
+ retention_bucket: "active" | "recent" | "archive";
686
+ sha256: string;
687
+ created_at: string;
688
+ };
689
+ key: string;
690
+ }[];
691
+ changed: {
692
+ key: string;
693
+ differences: string[];
694
+ left: {
695
+ path: string;
696
+ type: string;
697
+ id: string;
698
+ exists: boolean;
699
+ size_bytes: number | null;
700
+ tracked: boolean;
701
+ age_days: number;
702
+ modified_at: string | null;
703
+ retention_bucket: "active" | "recent" | "archive";
704
+ sha256: string;
705
+ created_at: string;
706
+ };
707
+ right: {
708
+ path: string;
709
+ type: string;
710
+ id: string;
711
+ exists: boolean;
712
+ size_bytes: number | null;
713
+ tracked: boolean;
714
+ age_days: number;
715
+ modified_at: string | null;
716
+ retention_bucket: "active" | "recent" | "archive";
717
+ sha256: string;
718
+ created_at: string;
719
+ };
720
+ }[];
721
+ unchanged_count: number;
722
+ } | undefined;
723
+ warnings?: string[] | undefined;
724
+ errors?: string[] | undefined;
725
+ }>;
726
+ export declare const artifactsDiffToolDefinition: ToolDefinition;
727
+ export declare function createArtifactsDiffHandler(workspaceManager: WorkspaceManager, database: DatabaseManager): (args: ToolArgs) => Promise<WorkerResult>;
728
+ //# sourceMappingURL=artifacts-diff.d.ts.map