@nuomiji/agentbox 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 (108) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +253 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.js +43 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/collector/collector.d.ts +15 -0
  7. package/dist/collector/collector.js +118 -0
  8. package/dist/collector/collector.js.map +1 -0
  9. package/dist/collector/known-layers.d.ts +2 -0
  10. package/dist/collector/known-layers.js +15 -0
  11. package/dist/collector/known-layers.js.map +1 -0
  12. package/dist/collector/probe.d.ts +19 -0
  13. package/dist/collector/probe.js +2 -0
  14. package/dist/collector/probe.js.map +1 -0
  15. package/dist/commands/apply.d.ts +10 -0
  16. package/dist/commands/apply.js +234 -0
  17. package/dist/commands/apply.js.map +1 -0
  18. package/dist/commands/bind.d.ts +8 -0
  19. package/dist/commands/bind.js +78 -0
  20. package/dist/commands/bind.js.map +1 -0
  21. package/dist/commands/collect.d.ts +8 -0
  22. package/dist/commands/collect.js +22 -0
  23. package/dist/commands/collect.js.map +1 -0
  24. package/dist/commands/export.d.ts +6 -0
  25. package/dist/commands/export.js +24 -0
  26. package/dist/commands/export.js.map +1 -0
  27. package/dist/commands/import-simple.d.ts +6 -0
  28. package/dist/commands/import-simple.js +96 -0
  29. package/dist/commands/import-simple.js.map +1 -0
  30. package/dist/commands/import.d.ts +8 -0
  31. package/dist/commands/import.js +108 -0
  32. package/dist/commands/import.js.map +1 -0
  33. package/dist/commands/inspect.d.ts +1 -0
  34. package/dist/commands/inspect.js +21 -0
  35. package/dist/commands/inspect.js.map +1 -0
  36. package/dist/commands/install-skills.d.ts +11 -0
  37. package/dist/commands/install-skills.js +316 -0
  38. package/dist/commands/install-skills.js.map +1 -0
  39. package/dist/commands/pack.d.ts +4 -0
  40. package/dist/commands/pack.js +37 -0
  41. package/dist/commands/pack.js.map +1 -0
  42. package/dist/commands/preview.d.ts +8 -0
  43. package/dist/commands/preview.js +108 -0
  44. package/dist/commands/preview.js.map +1 -0
  45. package/dist/commands/unpack.d.ts +4 -0
  46. package/dist/commands/unpack.js +45 -0
  47. package/dist/commands/unpack.js.map +1 -0
  48. package/dist/core/archive.d.ts +2 -0
  49. package/dist/core/archive.js +46 -0
  50. package/dist/core/archive.js.map +1 -0
  51. package/dist/core/bindings.d.ts +22 -0
  52. package/dist/core/bindings.js +46 -0
  53. package/dist/core/bindings.js.map +1 -0
  54. package/dist/core/env.d.ts +13 -0
  55. package/dist/core/env.js +49 -0
  56. package/dist/core/env.js.map +1 -0
  57. package/dist/core/fs.d.ts +12 -0
  58. package/dist/core/fs.js +233 -0
  59. package/dist/core/fs.js.map +1 -0
  60. package/dist/core/materialize.d.ts +10 -0
  61. package/dist/core/materialize.js +54 -0
  62. package/dist/core/materialize.js.map +1 -0
  63. package/dist/core/redaction.d.ts +25 -0
  64. package/dist/core/redaction.js +184 -0
  65. package/dist/core/redaction.js.map +1 -0
  66. package/dist/core/schemas.d.ts +9 -0
  67. package/dist/core/schemas.js +60 -0
  68. package/dist/core/schemas.js.map +1 -0
  69. package/dist/core/types.d.ts +125 -0
  70. package/dist/core/types.js +2 -0
  71. package/dist/core/types.js.map +1 -0
  72. package/dist/core/yaml.d.ts +1 -0
  73. package/dist/core/yaml.js +8 -0
  74. package/dist/core/yaml.js.map +1 -0
  75. package/dist/import/claude-code.d.ts +3 -0
  76. package/dist/import/claude-code.js +182 -0
  77. package/dist/import/claude-code.js.map +1 -0
  78. package/dist/import/codex.d.ts +3 -0
  79. package/dist/import/codex.js +162 -0
  80. package/dist/import/codex.js.map +1 -0
  81. package/dist/import/compatibility.d.ts +42 -0
  82. package/dist/import/compatibility.js +99 -0
  83. package/dist/import/compatibility.js.map +1 -0
  84. package/dist/import/install-plan.d.ts +43 -0
  85. package/dist/import/install-plan.js +125 -0
  86. package/dist/import/install-plan.js.map +1 -0
  87. package/dist/import/openclaw.d.ts +3 -0
  88. package/dist/import/openclaw.js +128 -0
  89. package/dist/import/openclaw.js.map +1 -0
  90. package/dist/import/portable.d.ts +6 -0
  91. package/dist/import/portable.js +394 -0
  92. package/dist/import/portable.js.map +1 -0
  93. package/dist/import/types.d.ts +21 -0
  94. package/dist/import/types.js +2 -0
  95. package/dist/import/types.js.map +1 -0
  96. package/dist/probes/claude-code.d.ts +9 -0
  97. package/dist/probes/claude-code.js +244 -0
  98. package/dist/probes/claude-code.js.map +1 -0
  99. package/dist/probes/codex.d.ts +10 -0
  100. package/dist/probes/codex.js +219 -0
  101. package/dist/probes/codex.js.map +1 -0
  102. package/dist/probes/cursor.d.ts +9 -0
  103. package/dist/probes/cursor.js +102 -0
  104. package/dist/probes/cursor.js.map +1 -0
  105. package/dist/probes/openclaw.d.ts +9 -0
  106. package/dist/probes/openclaw.js +52 -0
  107. package/dist/probes/openclaw.js.map +1 -0
  108. package/package.json +54 -0
@@ -0,0 +1,394 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ const SESSION_COUNT_KEYS = [
4
+ "plansCount",
5
+ "tasksCount",
6
+ "todosCount",
7
+ "transcriptsCount",
8
+ "sessionsCount",
9
+ "shellSnapshotsCount",
10
+ "fileHistoryCount",
11
+ "sessionFiles",
12
+ "sqliteFiles"
13
+ ];
14
+ const SESSION_BOOLEAN_KEYS = ["hasStateDb", "hasHistory", "hasSandbox", "hasSandboxSecrets"];
15
+ export function buildPortableSkillsPreview(resolved, sourceHost) {
16
+ const skills = resolved.skills;
17
+ const sharedSkillNames = asArray(skills.sharedSkillNames);
18
+ const installedSkillNames = asArray(skills.installedSkillNames);
19
+ const hostLinkedSkillNames = asArray(skills.hostLinkedSkillNames);
20
+ const vendorSkillCollections = asArray(skills.vendorSkillCollections);
21
+ return {
22
+ importedFrom: sourceHost,
23
+ sharedRoot: skills.sharedRoot ?? null,
24
+ sharedSkillNames,
25
+ installedSkillNames,
26
+ hostLinkedSkillNames,
27
+ vendorSkillCollections,
28
+ lockfilePath: skills.lockfilePath ?? null,
29
+ lockfileSkills: asObject(skills.lockfileSkills),
30
+ counts: {
31
+ shared: sharedSkillNames.length,
32
+ installed: installedSkillNames.length,
33
+ hostLinked: hostLinkedSkillNames.length,
34
+ vendorCollections: vendorSkillCollections.length
35
+ }
36
+ };
37
+ }
38
+ export function buildPortableMemoryPreview(resolved, sourceHost) {
39
+ const memory = resolved.memory;
40
+ return {
41
+ importedFrom: sourceHost,
42
+ projectCount: memory.projectCount ?? null,
43
+ markdownFileCount: memory.markdownFileCount ?? null,
44
+ memoryFolderCount: memory.memoryFolderCount ?? null,
45
+ memoriesRoot: memory.memoriesRoot ?? null,
46
+ sampleProjects: asStringArray(memory.sampleProjects),
47
+ sampleMemoryFiles: asStringArray(memory.sampleMemoryFiles),
48
+ sampleMemoryFolders: asStringArray(memory.sampleMemoryFolders),
49
+ portableSummary: asOptionalString(memory.portableSummary),
50
+ memoryExcerpts: asPreviewEntries(memory.memoryExcerpts)
51
+ };
52
+ }
53
+ export function buildPortableSessionPreview(resolved, sourceHost) {
54
+ const session = resolved.session;
55
+ const preview = {
56
+ importedFrom: sourceHost,
57
+ captureMode: asOptionalString(session.captureMode),
58
+ portableSummary: asOptionalString(session.portableSummary)
59
+ };
60
+ // Add file references for full content
61
+ const transcriptFiles = asArray(session.transcriptFiles);
62
+ if (transcriptFiles.length > 0) {
63
+ preview.transcriptFiles = transcriptFiles;
64
+ preview.transcriptCount = transcriptFiles.length;
65
+ }
66
+ const planFiles = asArray(session.planFiles);
67
+ if (planFiles.length > 0) {
68
+ preview.planFiles = planFiles;
69
+ preview.planCount = planFiles.length;
70
+ }
71
+ const extractedSlugs = asArray(session.extractedSlugs);
72
+ if (extractedSlugs.length > 0) {
73
+ preview.extractedSlugs = extractedSlugs;
74
+ }
75
+ for (const key of SESSION_COUNT_KEYS) {
76
+ if (typeof session[key] === "number") {
77
+ preview[key] = session[key];
78
+ }
79
+ }
80
+ const historyPath = asOptionalString(session.historyPath);
81
+ if (historyPath) {
82
+ preview.historyPath = historyPath;
83
+ }
84
+ const recentPrompts = asStringArray(session.recentPrompts);
85
+ if (recentPrompts.length > 0) {
86
+ preview.recentPrompts = recentPrompts;
87
+ }
88
+ const recentPlanPreviews = asPreviewEntries(session.recentPlanPreviews);
89
+ if (recentPlanPreviews.length > 0) {
90
+ preview.recentPlanPreviews = recentPlanPreviews;
91
+ }
92
+ const recentTodoPreviews = asPreviewEntries(session.recentTodoPreviews);
93
+ if (recentTodoPreviews.length > 0) {
94
+ preview.recentTodoPreviews = recentTodoPreviews;
95
+ }
96
+ const recentHistoryEntries = asSessionEntries(session.recentHistoryEntries);
97
+ if (recentHistoryEntries.length > 0) {
98
+ preview.recentHistoryEntries = recentHistoryEntries;
99
+ }
100
+ const rawHistoryEntries = asSessionEntries(session.rawHistoryEntries);
101
+ if (rawHistoryEntries.length > 0) {
102
+ preview.rawHistoryEntries = rawHistoryEntries;
103
+ }
104
+ const rawPlanDocuments = asDocumentEntries(session.rawPlanDocuments);
105
+ if (rawPlanDocuments.length > 0) {
106
+ preview.rawPlanDocuments = rawPlanDocuments;
107
+ }
108
+ for (const key of SESSION_BOOLEAN_KEYS) {
109
+ if (typeof session[key] === "boolean") {
110
+ preview[key] = session[key];
111
+ }
112
+ }
113
+ return preview;
114
+ }
115
+ export function buildPortableMemoryMarkdown(resolved, sourceHost) {
116
+ const preview = buildPortableMemoryPreview(resolved, sourceHost);
117
+ const lines = ["# Portable Memory Preview", "", `Imported from: ${sourceHost}`];
118
+ const summary = asOptionalString(preview.portableSummary);
119
+ if (summary) {
120
+ lines.push("", "## Summary", "", summary);
121
+ }
122
+ const sampleProjects = asStringArray(preview.sampleProjects);
123
+ if (sampleProjects.length > 0) {
124
+ lines.push("", "## Sample Projects", "");
125
+ for (const entry of sampleProjects) {
126
+ lines.push(`- ${entry}`);
127
+ }
128
+ }
129
+ const sampleMemoryFiles = asStringArray(preview.sampleMemoryFiles);
130
+ if (sampleMemoryFiles.length > 0) {
131
+ lines.push("", "## Sample Memory Files", "");
132
+ for (const entry of sampleMemoryFiles) {
133
+ lines.push(`- ${entry}`);
134
+ }
135
+ }
136
+ const excerpts = asPreviewEntries(preview.memoryExcerpts);
137
+ if (excerpts.length > 0) {
138
+ lines.push("", "## Memory Excerpts", "");
139
+ for (const entry of excerpts) {
140
+ lines.push(`### ${entry.path}`, "", entry.preview, "");
141
+ }
142
+ }
143
+ else {
144
+ lines.push("", "## Memory Excerpts", "", "No portable memory excerpts were captured in this snapshot.");
145
+ }
146
+ return `${lines.join("\n").trim()}\n`;
147
+ }
148
+ export async function buildPortableSessionMarkdown(resolved, sourceHost, tempDir) {
149
+ const preview = buildPortableSessionPreview(resolved, sourceHost);
150
+ const lines = ["# Portable Session Preview", "", `Imported from: ${sourceHost}`];
151
+ const captureMode = asOptionalString(preview.captureMode);
152
+ if (captureMode) {
153
+ lines.push("", `Capture mode: ${captureMode}`);
154
+ }
155
+ const summary = asOptionalString(preview.portableSummary);
156
+ if (summary) {
157
+ lines.push("", "## Summary", "", summary);
158
+ }
159
+ // Extract and show recent messages from transcripts
160
+ if (tempDir) {
161
+ const transcriptFiles = asArray(preview.transcriptFiles);
162
+ if (transcriptFiles.length > 0) {
163
+ const recentMessages = await extractRecentMessagesFromFiles(tempDir, transcriptFiles, 5);
164
+ if (recentMessages.length > 0) {
165
+ lines.push("", "## Recent Messages (Latest 5)", "");
166
+ for (const msg of recentMessages) {
167
+ lines.push(`**[${msg.timestamp}] ${msg.role}**: ${msg.content}`, "");
168
+ }
169
+ }
170
+ }
171
+ // Extract and show plan summaries
172
+ const planFiles = asArray(preview.planFiles);
173
+ if (planFiles.length > 0) {
174
+ const planSummaries = await extractPlanSummariesFromFiles(tempDir, planFiles);
175
+ if (planSummaries.length > 0) {
176
+ lines.push("", "## Current Plans", "");
177
+ for (const plan of planSummaries) {
178
+ lines.push(`### ${plan.title}`, "", plan.preview, "");
179
+ }
180
+ }
181
+ }
182
+ }
183
+ // Show file references
184
+ const transcriptFiles = asArray(preview.transcriptFiles);
185
+ const planFiles = asArray(preview.planFiles);
186
+ if (transcriptFiles.length > 0 || planFiles.length > 0) {
187
+ lines.push("", "## Full Session Files", "");
188
+ if (transcriptFiles.length > 0) {
189
+ lines.push(`- ${transcriptFiles.length} transcript files available in bundle`);
190
+ }
191
+ if (planFiles.length > 0) {
192
+ lines.push(`- ${planFiles.length} plan files available in bundle`);
193
+ }
194
+ }
195
+ const extractedSlugs = asArray(preview.extractedSlugs);
196
+ if (extractedSlugs.length > 0) {
197
+ lines.push("", "## Plan Slugs", "");
198
+ for (const slug of extractedSlugs) {
199
+ if (typeof slug === "string") {
200
+ lines.push(`- ${slug}`);
201
+ }
202
+ }
203
+ }
204
+ const countKeys = SESSION_COUNT_KEYS.filter((key) => typeof preview[key] === "number");
205
+ if (countKeys.length > 0) {
206
+ lines.push("", "## Session Counts", "");
207
+ for (const key of countKeys) {
208
+ lines.push(`- ${formatLabel(key)}: ${String(preview[key])}`);
209
+ }
210
+ }
211
+ const recentPrompts = asStringArray(preview.recentPrompts);
212
+ if (recentPrompts.length > 0) {
213
+ lines.push("", "## Recent Prompts", "");
214
+ for (const entry of recentPrompts) {
215
+ lines.push(`- ${entry}`);
216
+ }
217
+ }
218
+ const recentPlans = asPreviewEntries(preview.recentPlanPreviews);
219
+ if (recentPlans.length > 0) {
220
+ lines.push("", "## Recent Plan Previews", "");
221
+ for (const entry of recentPlans) {
222
+ lines.push(`### ${entry.path}`, "", entry.preview, "");
223
+ }
224
+ }
225
+ const recentTodos = asPreviewEntries(preview.recentTodoPreviews);
226
+ if (recentTodos.length > 0) {
227
+ lines.push("", "## Recent Todo Previews", "");
228
+ for (const entry of recentTodos) {
229
+ lines.push(`### ${entry.path}`, "", entry.preview, "");
230
+ }
231
+ }
232
+ const recentHistoryEntries = asSessionEntries(preview.recentHistoryEntries);
233
+ if (recentHistoryEntries.length > 0) {
234
+ lines.push("", "## Recent History Entries", "");
235
+ for (const entry of recentHistoryEntries) {
236
+ lines.push(`### ${entry.path ?? entry.sessionId ?? "history-entry"}`);
237
+ if (entry.timestamp !== null) {
238
+ lines.push("", `Timestamp: ${String(entry.timestamp)}`);
239
+ }
240
+ lines.push("", entry.text, "");
241
+ }
242
+ }
243
+ const rawPlanDocuments = asDocumentEntries(preview.rawPlanDocuments);
244
+ if (rawPlanDocuments.length > 0) {
245
+ lines.push("", "## Raw Plan Documents", "");
246
+ for (const entry of rawPlanDocuments) {
247
+ lines.push(`### ${entry.path}`, "", entry.content, "");
248
+ }
249
+ }
250
+ const rawHistoryEntries = asSessionEntries(preview.rawHistoryEntries);
251
+ if (rawHistoryEntries.length > 0) {
252
+ lines.push("", "## Raw History Entries", "");
253
+ for (const entry of rawHistoryEntries) {
254
+ lines.push(`### ${entry.path ?? entry.sessionId ?? "history-entry"}`);
255
+ if (entry.timestamp !== null) {
256
+ lines.push("", `Timestamp: ${String(entry.timestamp)}`);
257
+ }
258
+ lines.push("", entry.text, "");
259
+ }
260
+ }
261
+ return `${lines.join("\n").trim()}\n`;
262
+ }
263
+ function asArray(value) {
264
+ return Array.isArray(value) ? value : [];
265
+ }
266
+ function asObject(value) {
267
+ return value && typeof value === "object" && !Array.isArray(value)
268
+ ? value
269
+ : {};
270
+ }
271
+ function asOptionalString(value) {
272
+ return typeof value === "string" && value.trim().length > 0 ? value : null;
273
+ }
274
+ function asStringArray(value) {
275
+ return asArray(value).filter((entry) => typeof entry === "string" && entry.trim().length > 0);
276
+ }
277
+ function asPreviewEntries(value) {
278
+ return asArray(value)
279
+ .map((entry) => asObject(entry))
280
+ .map((entry) => ({
281
+ path: asOptionalString(entry.path) ?? "unknown",
282
+ preview: asOptionalString(entry.preview) ?? ""
283
+ }))
284
+ .filter((entry) => entry.preview.length > 0);
285
+ }
286
+ function asSessionEntries(value) {
287
+ return asArray(value)
288
+ .map((entry) => asObject(entry))
289
+ .map((entry) => ({
290
+ path: asOptionalString(entry.path) ?? undefined,
291
+ sessionId: asOptionalString(entry.sessionId),
292
+ timestamp: typeof entry.timestamp === "number" ? entry.timestamp : null,
293
+ text: asOptionalString(entry.text) ?? ""
294
+ }))
295
+ .filter((entry) => entry.text.length > 0);
296
+ }
297
+ function asDocumentEntries(value) {
298
+ return asArray(value)
299
+ .map((entry) => asObject(entry))
300
+ .map((entry) => ({
301
+ path: asOptionalString(entry.path) ?? "unknown",
302
+ content: asOptionalString(entry.content) ?? ""
303
+ }))
304
+ .filter((entry) => entry.content.length > 0);
305
+ }
306
+ function formatLabel(key) {
307
+ return key.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/^\w/, (match) => match.toUpperCase());
308
+ }
309
+ async function extractRecentMessagesFromFiles(tempDir, transcriptFiles, limit) {
310
+ const messages = [];
311
+ // Read the first (most recent) transcript file
312
+ if (transcriptFiles.length === 0) {
313
+ return messages;
314
+ }
315
+ try {
316
+ const firstFile = asObject(transcriptFiles[0]);
317
+ const filePath = asOptionalString(firstFile.path);
318
+ if (!filePath)
319
+ return messages;
320
+ // Convert portable path to actual path in temp dir
321
+ const actualPath = path.join(tempDir, "session", "transcripts", path.basename(filePath));
322
+ const content = await readFile(actualPath, "utf-8");
323
+ const lines = content.split("\n").filter((line) => line.trim());
324
+ // Parse JSONL and extract messages
325
+ const entries = [];
326
+ for (const line of lines) {
327
+ try {
328
+ const entry = JSON.parse(line);
329
+ if (entry.type === "user" || entry.type === "assistant") {
330
+ let text = "";
331
+ if (entry.message && typeof entry.message.content === "string") {
332
+ text = entry.message.content;
333
+ }
334
+ else if (entry.message && Array.isArray(entry.message.content)) {
335
+ for (const block of entry.message.content) {
336
+ if (block.type === "text" && typeof block.text === "string") {
337
+ text += block.text + " ";
338
+ }
339
+ }
340
+ text = text.trim();
341
+ }
342
+ if (text) {
343
+ entries.push({
344
+ timestamp: entry.timestamp || new Date().toISOString(),
345
+ role: entry.type,
346
+ text
347
+ });
348
+ }
349
+ }
350
+ }
351
+ catch {
352
+ // Skip malformed lines
353
+ }
354
+ }
355
+ // Take last N entries and reverse to show newest first
356
+ const recentEntries = entries.slice(-limit).reverse();
357
+ for (const entry of recentEntries) {
358
+ messages.push({
359
+ timestamp: entry.timestamp,
360
+ role: entry.role,
361
+ content: entry.text.slice(0, 200)
362
+ });
363
+ }
364
+ }
365
+ catch {
366
+ // Skip files that can't be read
367
+ }
368
+ return messages;
369
+ }
370
+ async function extractPlanSummariesFromFiles(tempDir, planFiles) {
371
+ const summaries = [];
372
+ for (const file of planFiles) {
373
+ try {
374
+ const fileObj = asObject(file);
375
+ const filePath = asOptionalString(fileObj.path);
376
+ if (!filePath)
377
+ continue;
378
+ // Convert portable path to actual path in temp dir
379
+ const actualPath = path.join(tempDir, "session", "plans", path.basename(filePath));
380
+ const content = await readFile(actualPath, "utf-8");
381
+ // Extract first heading as title
382
+ const titleMatch = content.match(/^#\s+(.+)$/m);
383
+ const title = titleMatch ? titleMatch[1] : path.basename(filePath, ".md");
384
+ // Extract first 400 chars as preview
385
+ const preview = content.slice(0, 400).trim();
386
+ summaries.push({ title, preview });
387
+ }
388
+ catch {
389
+ // Skip files that can't be read
390
+ }
391
+ }
392
+ return summaries;
393
+ }
394
+ //# sourceMappingURL=portable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable.js","sourceRoot":"","sources":["../../src/import/portable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { SupportedHost } from "../core/types.js";
2
+ export interface ImportPlanEntry {
3
+ sourceLayer: string;
4
+ targetPath: string;
5
+ action: "create-preview";
6
+ risk: "low" | "medium" | "high";
7
+ notes?: string[];
8
+ }
9
+ export interface ImportPreviewResult {
10
+ targetHost: SupportedHost;
11
+ outputDir: string;
12
+ generatedFiles: string[];
13
+ warnings: string[];
14
+ plan: ImportPlanEntry[];
15
+ }
16
+ export interface ImportContext {
17
+ sourceHost: SupportedHost;
18
+ targetHost: SupportedHost;
19
+ bindings: Record<string, string>;
20
+ tempDir?: string;
21
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/import/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { HostDetection, HostProbe, ProbeContext } from "../collector/probe.js";
2
+ export declare class ClaudeCodeProbe implements HostProbe {
3
+ readonly host: "claude-code";
4
+ detect(context: ProbeContext): Promise<HostDetection | null>;
5
+ collect(context: ProbeContext): Promise<{
6
+ resolved: import("../core/types.js").ResolvedSnapshot;
7
+ sources: import("../core/types.js").SourceSnapshot;
8
+ }>;
9
+ }