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,515 @@
1
+ /**
2
+ * artifacts.list tool implementation
3
+ * Enumerates artifact inventory for a sample with on-disk observability metadata.
4
+ */
5
+ import { z } from 'zod';
6
+ import type { ToolDefinition, ToolArgs, WorkerResult } from '../types.js';
7
+ import type { WorkspaceManager } from '../workspace-manager.js';
8
+ import type { DatabaseManager } from '../database.js';
9
+ export declare const ArtifactsListInputSchema: z.ZodObject<{
10
+ sample_id: z.ZodString;
11
+ artifact_type: z.ZodOptional<z.ZodString>;
12
+ artifact_types: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
+ include_missing: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14
+ page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
15
+ page_size: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
16
+ sort_by: z.ZodDefault<z.ZodOptional<z.ZodEnum<["created_at", "type", "path", "size_bytes"]>>>;
17
+ sort_order: z.ZodDefault<z.ZodOptional<z.ZodEnum<["asc", "desc"]>>>;
18
+ path_prefix: z.ZodOptional<z.ZodString>;
19
+ session_tag: z.ZodOptional<z.ZodString>;
20
+ retention_bucket: z.ZodOptional<z.ZodEnum<["active", "recent", "archive"]>>;
21
+ latest_only: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
22
+ high_value_only: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
23
+ include_untracked_files: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
24
+ recursive: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
25
+ scan_roots: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ sample_id: string;
28
+ recursive: boolean;
29
+ include_untracked_files: boolean;
30
+ scan_roots: string[];
31
+ include_missing: boolean;
32
+ page: number;
33
+ page_size: number;
34
+ sort_by: "path" | "type" | "size_bytes" | "created_at";
35
+ sort_order: "asc" | "desc";
36
+ latest_only: boolean;
37
+ high_value_only: boolean;
38
+ session_tag?: string | undefined;
39
+ retention_bucket?: "active" | "recent" | "archive" | undefined;
40
+ artifact_type?: string | undefined;
41
+ artifact_types?: string[] | undefined;
42
+ path_prefix?: string | undefined;
43
+ }, {
44
+ sample_id: string;
45
+ recursive?: boolean | undefined;
46
+ session_tag?: string | undefined;
47
+ retention_bucket?: "active" | "recent" | "archive" | undefined;
48
+ artifact_type?: string | undefined;
49
+ include_untracked_files?: boolean | undefined;
50
+ scan_roots?: string[] | undefined;
51
+ artifact_types?: string[] | undefined;
52
+ include_missing?: boolean | undefined;
53
+ page?: number | undefined;
54
+ page_size?: number | undefined;
55
+ sort_by?: "path" | "type" | "size_bytes" | "created_at" | undefined;
56
+ sort_order?: "asc" | "desc" | undefined;
57
+ path_prefix?: string | undefined;
58
+ latest_only?: boolean | undefined;
59
+ high_value_only?: boolean | undefined;
60
+ }>;
61
+ export type ArtifactsListInput = z.infer<typeof ArtifactsListInputSchema>;
62
+ export declare const ArtifactsListOutputSchema: z.ZodObject<{
63
+ ok: z.ZodBoolean;
64
+ data: z.ZodOptional<z.ZodObject<{
65
+ sample_id: z.ZodString;
66
+ artifact_type: z.ZodNullable<z.ZodString>;
67
+ artifact_types: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
68
+ path_prefix: z.ZodNullable<z.ZodString>;
69
+ session_tag: z.ZodNullable<z.ZodString>;
70
+ retention_bucket: z.ZodNullable<z.ZodEnum<["active", "recent", "archive"]>>;
71
+ latest_only: z.ZodBoolean;
72
+ tool_version: z.ZodString;
73
+ count: z.ZodNumber;
74
+ total_count: z.ZodNumber;
75
+ page: z.ZodNumber;
76
+ page_size: z.ZodNumber;
77
+ total_pages: z.ZodNumber;
78
+ artifacts: z.ZodArray<z.ZodObject<{
79
+ id: z.ZodString;
80
+ type: z.ZodString;
81
+ path: z.ZodString;
82
+ sha256: z.ZodString;
83
+ mime: z.ZodNullable<z.ZodString>;
84
+ created_at: z.ZodString;
85
+ exists: z.ZodBoolean;
86
+ size_bytes: z.ZodNullable<z.ZodNumber>;
87
+ modified_at: z.ZodNullable<z.ZodString>;
88
+ tracked: z.ZodBoolean;
89
+ session_tag: z.ZodNullable<z.ZodString>;
90
+ retention_bucket: z.ZodEnum<["active", "recent", "archive"]>;
91
+ age_days: z.ZodNumber;
92
+ }, "strip", z.ZodTypeAny, {
93
+ path: string;
94
+ type: string;
95
+ id: string;
96
+ exists: boolean;
97
+ size_bytes: number | null;
98
+ tracked: boolean;
99
+ session_tag: string | null;
100
+ age_days: number;
101
+ modified_at: string | null;
102
+ retention_bucket: "active" | "recent" | "archive";
103
+ sha256: string;
104
+ mime: string | null;
105
+ created_at: string;
106
+ }, {
107
+ path: string;
108
+ type: string;
109
+ id: string;
110
+ exists: boolean;
111
+ size_bytes: number | null;
112
+ tracked: boolean;
113
+ session_tag: string | null;
114
+ age_days: number;
115
+ modified_at: string | null;
116
+ retention_bucket: "active" | "recent" | "archive";
117
+ sha256: string;
118
+ mime: string | null;
119
+ created_at: string;
120
+ }>, "many">;
121
+ summary: z.ZodObject<{
122
+ total_count: z.ZodNumber;
123
+ filtered_count: z.ZodNumber;
124
+ missing_count: z.ZodNumber;
125
+ untracked_count: z.ZodNumber;
126
+ by_type: z.ZodRecord<z.ZodString, z.ZodNumber>;
127
+ latest_by_type: z.ZodRecord<z.ZodString, z.ZodObject<{
128
+ id: z.ZodString;
129
+ path: z.ZodString;
130
+ created_at: z.ZodString;
131
+ tracked: z.ZodBoolean;
132
+ }, "strip", z.ZodTypeAny, {
133
+ path: string;
134
+ id: string;
135
+ tracked: boolean;
136
+ created_at: string;
137
+ }, {
138
+ path: string;
139
+ id: string;
140
+ tracked: boolean;
141
+ created_at: string;
142
+ }>>;
143
+ latest_by_session: z.ZodRecord<z.ZodString, z.ZodObject<{
144
+ id: z.ZodString;
145
+ path: z.ZodString;
146
+ created_at: z.ZodString;
147
+ type: z.ZodString;
148
+ tracked: z.ZodBoolean;
149
+ }, "strip", z.ZodTypeAny, {
150
+ path: string;
151
+ type: string;
152
+ id: string;
153
+ tracked: boolean;
154
+ created_at: string;
155
+ }, {
156
+ path: string;
157
+ type: string;
158
+ id: string;
159
+ tracked: boolean;
160
+ created_at: string;
161
+ }>>;
162
+ session_index: z.ZodRecord<z.ZodString, z.ZodObject<{
163
+ count: z.ZodNumber;
164
+ latest_created_at: z.ZodString;
165
+ tracked_count: z.ZodNumber;
166
+ untracked_count: z.ZodNumber;
167
+ types: z.ZodArray<z.ZodString, "many">;
168
+ retention_buckets: z.ZodArray<z.ZodString, "many">;
169
+ }, "strip", z.ZodTypeAny, {
170
+ count: number;
171
+ latest_created_at: string;
172
+ untracked_count: number;
173
+ tracked_count: number;
174
+ types: string[];
175
+ retention_buckets: string[];
176
+ }, {
177
+ count: number;
178
+ latest_created_at: string;
179
+ untracked_count: number;
180
+ tracked_count: number;
181
+ types: string[];
182
+ retention_buckets: string[];
183
+ }>>;
184
+ by_retention_bucket: z.ZodRecord<z.ZodString, z.ZodNumber>;
185
+ high_value_types: z.ZodArray<z.ZodString, "many">;
186
+ }, "strip", z.ZodTypeAny, {
187
+ total_count: number;
188
+ filtered_count: number;
189
+ missing_count: number;
190
+ untracked_count: number;
191
+ by_type: Record<string, number>;
192
+ latest_by_type: Record<string, {
193
+ path: string;
194
+ id: string;
195
+ tracked: boolean;
196
+ created_at: string;
197
+ }>;
198
+ latest_by_session: Record<string, {
199
+ path: string;
200
+ type: string;
201
+ id: string;
202
+ tracked: boolean;
203
+ created_at: string;
204
+ }>;
205
+ session_index: Record<string, {
206
+ count: number;
207
+ latest_created_at: string;
208
+ untracked_count: number;
209
+ tracked_count: number;
210
+ types: string[];
211
+ retention_buckets: string[];
212
+ }>;
213
+ by_retention_bucket: Record<string, number>;
214
+ high_value_types: string[];
215
+ }, {
216
+ total_count: number;
217
+ filtered_count: number;
218
+ missing_count: number;
219
+ untracked_count: number;
220
+ by_type: Record<string, number>;
221
+ latest_by_type: Record<string, {
222
+ path: string;
223
+ id: string;
224
+ tracked: boolean;
225
+ created_at: string;
226
+ }>;
227
+ latest_by_session: Record<string, {
228
+ path: string;
229
+ type: string;
230
+ id: string;
231
+ tracked: boolean;
232
+ created_at: string;
233
+ }>;
234
+ session_index: Record<string, {
235
+ count: number;
236
+ latest_created_at: string;
237
+ untracked_count: number;
238
+ tracked_count: number;
239
+ types: string[];
240
+ retention_buckets: string[];
241
+ }>;
242
+ by_retention_bucket: Record<string, number>;
243
+ high_value_types: string[];
244
+ }>;
245
+ }, "strip", z.ZodTypeAny, {
246
+ sample_id: string;
247
+ summary: {
248
+ total_count: number;
249
+ filtered_count: number;
250
+ missing_count: number;
251
+ untracked_count: number;
252
+ by_type: Record<string, number>;
253
+ latest_by_type: Record<string, {
254
+ path: string;
255
+ id: string;
256
+ tracked: boolean;
257
+ created_at: string;
258
+ }>;
259
+ latest_by_session: Record<string, {
260
+ path: string;
261
+ type: string;
262
+ id: string;
263
+ tracked: boolean;
264
+ created_at: string;
265
+ }>;
266
+ session_index: Record<string, {
267
+ count: number;
268
+ latest_created_at: string;
269
+ untracked_count: number;
270
+ tracked_count: number;
271
+ types: string[];
272
+ retention_buckets: string[];
273
+ }>;
274
+ by_retention_bucket: Record<string, number>;
275
+ high_value_types: string[];
276
+ };
277
+ session_tag: string | null;
278
+ retention_bucket: "active" | "recent" | "archive" | null;
279
+ count: number;
280
+ artifacts: {
281
+ path: string;
282
+ type: string;
283
+ id: string;
284
+ exists: boolean;
285
+ size_bytes: number | null;
286
+ tracked: boolean;
287
+ session_tag: string | null;
288
+ age_days: number;
289
+ modified_at: string | null;
290
+ retention_bucket: "active" | "recent" | "archive";
291
+ sha256: string;
292
+ mime: string | null;
293
+ created_at: string;
294
+ }[];
295
+ tool_version: string;
296
+ total_count: number;
297
+ artifact_type: string | null;
298
+ artifact_types: string[] | null;
299
+ page: number;
300
+ page_size: number;
301
+ path_prefix: string | null;
302
+ latest_only: boolean;
303
+ total_pages: number;
304
+ }, {
305
+ sample_id: string;
306
+ summary: {
307
+ total_count: number;
308
+ filtered_count: number;
309
+ missing_count: number;
310
+ untracked_count: number;
311
+ by_type: Record<string, number>;
312
+ latest_by_type: Record<string, {
313
+ path: string;
314
+ id: string;
315
+ tracked: boolean;
316
+ created_at: string;
317
+ }>;
318
+ latest_by_session: Record<string, {
319
+ path: string;
320
+ type: string;
321
+ id: string;
322
+ tracked: boolean;
323
+ created_at: string;
324
+ }>;
325
+ session_index: Record<string, {
326
+ count: number;
327
+ latest_created_at: string;
328
+ untracked_count: number;
329
+ tracked_count: number;
330
+ types: string[];
331
+ retention_buckets: string[];
332
+ }>;
333
+ by_retention_bucket: Record<string, number>;
334
+ high_value_types: string[];
335
+ };
336
+ session_tag: string | null;
337
+ retention_bucket: "active" | "recent" | "archive" | null;
338
+ count: number;
339
+ artifacts: {
340
+ path: string;
341
+ type: string;
342
+ id: string;
343
+ exists: boolean;
344
+ size_bytes: number | null;
345
+ tracked: boolean;
346
+ session_tag: string | null;
347
+ age_days: number;
348
+ modified_at: string | null;
349
+ retention_bucket: "active" | "recent" | "archive";
350
+ sha256: string;
351
+ mime: string | null;
352
+ created_at: string;
353
+ }[];
354
+ tool_version: string;
355
+ total_count: number;
356
+ artifact_type: string | null;
357
+ artifact_types: string[] | null;
358
+ page: number;
359
+ page_size: number;
360
+ path_prefix: string | null;
361
+ latest_only: boolean;
362
+ total_pages: number;
363
+ }>>;
364
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
365
+ errors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
366
+ metrics: z.ZodOptional<z.ZodObject<{
367
+ elapsed_ms: z.ZodNumber;
368
+ tool: z.ZodString;
369
+ }, "strip", z.ZodTypeAny, {
370
+ elapsed_ms: number;
371
+ tool: string;
372
+ }, {
373
+ elapsed_ms: number;
374
+ tool: string;
375
+ }>>;
376
+ }, "strip", z.ZodTypeAny, {
377
+ ok: boolean;
378
+ metrics?: {
379
+ elapsed_ms: number;
380
+ tool: string;
381
+ } | undefined;
382
+ data?: {
383
+ sample_id: string;
384
+ summary: {
385
+ total_count: number;
386
+ filtered_count: number;
387
+ missing_count: number;
388
+ untracked_count: number;
389
+ by_type: Record<string, number>;
390
+ latest_by_type: Record<string, {
391
+ path: string;
392
+ id: string;
393
+ tracked: boolean;
394
+ created_at: string;
395
+ }>;
396
+ latest_by_session: Record<string, {
397
+ path: string;
398
+ type: string;
399
+ id: string;
400
+ tracked: boolean;
401
+ created_at: string;
402
+ }>;
403
+ session_index: Record<string, {
404
+ count: number;
405
+ latest_created_at: string;
406
+ untracked_count: number;
407
+ tracked_count: number;
408
+ types: string[];
409
+ retention_buckets: string[];
410
+ }>;
411
+ by_retention_bucket: Record<string, number>;
412
+ high_value_types: string[];
413
+ };
414
+ session_tag: string | null;
415
+ retention_bucket: "active" | "recent" | "archive" | null;
416
+ count: number;
417
+ artifacts: {
418
+ path: string;
419
+ type: string;
420
+ id: string;
421
+ exists: boolean;
422
+ size_bytes: number | null;
423
+ tracked: boolean;
424
+ session_tag: string | null;
425
+ age_days: number;
426
+ modified_at: string | null;
427
+ retention_bucket: "active" | "recent" | "archive";
428
+ sha256: string;
429
+ mime: string | null;
430
+ created_at: string;
431
+ }[];
432
+ tool_version: string;
433
+ total_count: number;
434
+ artifact_type: string | null;
435
+ artifact_types: string[] | null;
436
+ page: number;
437
+ page_size: number;
438
+ path_prefix: string | null;
439
+ latest_only: boolean;
440
+ total_pages: number;
441
+ } | undefined;
442
+ warnings?: string[] | undefined;
443
+ errors?: string[] | undefined;
444
+ }, {
445
+ ok: boolean;
446
+ metrics?: {
447
+ elapsed_ms: number;
448
+ tool: string;
449
+ } | undefined;
450
+ data?: {
451
+ sample_id: string;
452
+ summary: {
453
+ total_count: number;
454
+ filtered_count: number;
455
+ missing_count: number;
456
+ untracked_count: number;
457
+ by_type: Record<string, number>;
458
+ latest_by_type: Record<string, {
459
+ path: string;
460
+ id: string;
461
+ tracked: boolean;
462
+ created_at: string;
463
+ }>;
464
+ latest_by_session: Record<string, {
465
+ path: string;
466
+ type: string;
467
+ id: string;
468
+ tracked: boolean;
469
+ created_at: string;
470
+ }>;
471
+ session_index: Record<string, {
472
+ count: number;
473
+ latest_created_at: string;
474
+ untracked_count: number;
475
+ tracked_count: number;
476
+ types: string[];
477
+ retention_buckets: string[];
478
+ }>;
479
+ by_retention_bucket: Record<string, number>;
480
+ high_value_types: string[];
481
+ };
482
+ session_tag: string | null;
483
+ retention_bucket: "active" | "recent" | "archive" | null;
484
+ count: number;
485
+ artifacts: {
486
+ path: string;
487
+ type: string;
488
+ id: string;
489
+ exists: boolean;
490
+ size_bytes: number | null;
491
+ tracked: boolean;
492
+ session_tag: string | null;
493
+ age_days: number;
494
+ modified_at: string | null;
495
+ retention_bucket: "active" | "recent" | "archive";
496
+ sha256: string;
497
+ mime: string | null;
498
+ created_at: string;
499
+ }[];
500
+ tool_version: string;
501
+ total_count: number;
502
+ artifact_type: string | null;
503
+ artifact_types: string[] | null;
504
+ page: number;
505
+ page_size: number;
506
+ path_prefix: string | null;
507
+ latest_only: boolean;
508
+ total_pages: number;
509
+ } | undefined;
510
+ warnings?: string[] | undefined;
511
+ errors?: string[] | undefined;
512
+ }>;
513
+ export declare const artifactsListToolDefinition: ToolDefinition;
514
+ export declare function createArtifactsListHandler(workspaceManager: WorkspaceManager, database: DatabaseManager): (args: ToolArgs) => Promise<WorkerResult>;
515
+ //# sourceMappingURL=artifacts-list.d.ts.map