cawdex 1.35.75 → 1.35.77

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 (89) hide show
  1. package/README.md +5 -5
  2. package/bin/anycode.js +2 -2
  3. package/bin/cawdex.js +408 -408
  4. package/bin/ecc-hooks.cjs +11 -11
  5. package/dist/agents-md.d.ts +31 -0
  6. package/dist/agents-md.js +340 -0
  7. package/dist/agents-md.js.map +1 -0
  8. package/dist/agents.js +1424 -1424
  9. package/dist/api.d.ts +1 -0
  10. package/dist/api.js +19 -14
  11. package/dist/api.js.map +1 -1
  12. package/dist/autonomous-loops.js +287 -287
  13. package/dist/benchmark-repos.d.ts +31 -0
  14. package/dist/benchmark-repos.js +234 -8
  15. package/dist/benchmark-repos.js.map +1 -1
  16. package/dist/command-palette.js +5 -2
  17. package/dist/command-palette.js.map +1 -1
  18. package/dist/compaction.js +8 -8
  19. package/dist/config.js +57 -36
  20. package/dist/config.js.map +1 -1
  21. package/dist/content-engine.js +543 -543
  22. package/dist/context-brief.d.ts +4 -0
  23. package/dist/context-brief.js +230 -0
  24. package/dist/context-brief.js.map +1 -0
  25. package/dist/cost-tracker.d.ts +33 -14
  26. package/dist/cost-tracker.js +81 -19
  27. package/dist/cost-tracker.js.map +1 -1
  28. package/dist/coverage.js +39 -39
  29. package/dist/docs-sync.js +98 -98
  30. package/dist/evaluation.js +452 -452
  31. package/dist/fixed-footer.d.ts +11 -2
  32. package/dist/fixed-footer.js +115 -26
  33. package/dist/fixed-footer.js.map +1 -1
  34. package/dist/git-workflow.js +49 -49
  35. package/dist/imports.d.ts +126 -0
  36. package/dist/imports.js +611 -0
  37. package/dist/imports.js.map +1 -0
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.js +367 -66
  40. package/dist/index.js.map +1 -1
  41. package/dist/inline-suggest.js +136 -12
  42. package/dist/inline-suggest.js.map +1 -1
  43. package/dist/live-queue.js +1 -1
  44. package/dist/live-queue.js.map +1 -1
  45. package/dist/model-aliases.d.ts +37 -0
  46. package/dist/model-aliases.js +203 -0
  47. package/dist/model-aliases.js.map +1 -0
  48. package/dist/orchestration.js +15 -15
  49. package/dist/permissions.d.ts +6 -0
  50. package/dist/permissions.js +53 -0
  51. package/dist/permissions.js.map +1 -1
  52. package/dist/pm2-manager.js +26 -26
  53. package/dist/query.d.ts +0 -1
  54. package/dist/query.js +105 -41
  55. package/dist/query.js.map +1 -1
  56. package/dist/refactor.js +87 -87
  57. package/dist/repo-command.js +7 -1
  58. package/dist/repo-command.js.map +1 -1
  59. package/dist/search-first.js +92 -92
  60. package/dist/skill-create.js +100 -100
  61. package/dist/stitch.js +1 -1
  62. package/dist/system-prompt.d.ts +2 -1
  63. package/dist/system-prompt.js +10 -5
  64. package/dist/system-prompt.js.map +1 -1
  65. package/dist/tools/github-repo-digest.d.ts +1 -1
  66. package/dist/tools/github-repo-digest.js +38 -6
  67. package/dist/tools/github-repo-digest.js.map +1 -1
  68. package/dist/types.d.ts +9 -0
  69. package/dist/types.js.map +1 -1
  70. package/dist/verification.js +55 -55
  71. package/package.json +1 -1
  72. package/resources/__init__.py +1 -1
  73. package/resources/exgentic/cawdex_agent/README.md +114 -114
  74. package/resources/exgentic/cawdex_agent/__init__.py +5 -5
  75. package/resources/exgentic/cawdex_agent/agent.py +605 -605
  76. package/resources/exgentic/cawdex_agent/requirements.txt +2 -2
  77. package/resources/exgentic/cawdex_agent/setup.sh +21 -21
  78. package/resources/exgentic/cawdex_agent/utils.py +1061 -1061
  79. package/resources/hal/cawdex_agent/README.md +24 -24
  80. package/resources/hal/cawdex_agent/__init__.py +1 -1
  81. package/resources/hal/cawdex_agent/main.py +550 -550
  82. package/resources/hal/cawdex_agent/requirements.txt +2 -2
  83. package/resources/kbench/cawdex_agent/README.md +107 -107
  84. package/resources/kbench/cawdex_agent/adapter.manifest.json +19 -19
  85. package/resources/kbench/cawdex_agent/runner.mjs +753 -753
  86. package/resources/open_agent_leaderboard/cawdex-agent-card.md +119 -119
  87. package/resources/terminal_bench/__init__.py +1 -1
  88. package/resources/terminal_bench/cawdex_agent.py +174 -174
  89. package/resources/terminal_bench/setup.sh +121 -121
@@ -23,7 +23,16 @@ export declare function isFooterActive(): boolean;
23
23
  export declare function updateFooter(snapshot: Partial<FooterSnapshot>): void;
24
24
  export declare function setFooterActivity(activity: string, turn?: number, startedAtMs?: number | null): void;
25
25
  export declare function setFooterDraft(draft: string): void;
26
- export declare function setFooterCost(cost: number, promptTokens: number, completionTokens: number): void;
26
+ export interface FooterUsageDetails {
27
+ sessionCost?: number;
28
+ sessionTokens?: number;
29
+ firstTokenMs?: number | null;
30
+ durationMs?: number | null;
31
+ }
32
+ export declare function setFooterCost(cost: number, promptTokens: number, completionTokens: number, details?: FooterUsageDetails): void;
27
33
  export declare function prepareFooterPrompt(): boolean;
28
- export declare function askWithFooterPrompt(rl: readline.Interface, prefill?: string): Promise<string>;
34
+ export declare function askWithFooterPrompt(rl: readline.Interface, prefill?: string, options?: {
35
+ echoSubmittedLine?: boolean;
36
+ }): Promise<string>;
37
+ export declare function writeFooterSubmittedLine(answer: string): void;
29
38
  export declare function writeScrollableLine(line: string): void;
@@ -23,6 +23,11 @@ const TEMPLATE_KEYS = [
23
23
  'mode',
24
24
  'cost',
25
25
  'tokens',
26
+ 'sessioncost',
27
+ 'sessiontokens',
28
+ 'latency',
29
+ 'firsttoken',
30
+ 'turnlatency',
26
31
  'budget',
27
32
  'activity',
28
33
  'version',
@@ -45,6 +50,10 @@ let state = {
45
50
  draft: '',
46
51
  lastCost: '$0.0000',
47
52
  lastTokens: '0 tokens',
53
+ sessionCost: '$0.0000',
54
+ sessionTokens: '0 tokens',
55
+ lastFirstToken: '',
56
+ lastTurnLatency: '',
48
57
  budget: '',
49
58
  acceptingPrompt: false,
50
59
  };
@@ -141,10 +150,19 @@ export function setFooterDraft(draft) {
141
150
  if (active && !state.acceptingPrompt)
142
151
  redraw();
143
152
  }
144
- export function setFooterCost(cost, promptTokens, completionTokens) {
145
- const fmt = (n) => (n > 999 ? `${(n / 1000).toFixed(1)}K` : String(n));
153
+ export function setFooterCost(cost, promptTokens, completionTokens, details = {}) {
154
+ const summary = safeUsageSummary(state.sessionId);
155
+ const last = summary?.last;
156
+ const firstTokenMs = finiteMs(details.firstTokenMs) ?? finiteMs(last?.firstTokenMs);
157
+ const durationMs = finiteMs(details.durationMs) ?? finiteMs(last?.durationMs);
158
+ const sessionCost = details.sessionCost ?? summary?.session.cost ?? cost;
159
+ const sessionTokens = details.sessionTokens ?? summary?.session.tokens ?? (promptTokens + completionTokens);
146
160
  state.lastCost = `$${cost.toFixed(4)}`;
147
- state.lastTokens = `${fmt(promptTokens)}->${fmt(completionTokens)} tokens`;
161
+ state.lastTokens = `${formatTokenCount(promptTokens)}->${formatTokenCount(completionTokens)} tokens`;
162
+ state.sessionCost = `$${sessionCost.toFixed(4)}`;
163
+ state.sessionTokens = `${formatTokenCount(sessionTokens)} tokens`;
164
+ state.lastFirstToken = firstTokenMs === undefined ? '' : formatLatency(firstTokenMs);
165
+ state.lastTurnLatency = durationMs === undefined ? '' : formatLatency(durationMs);
148
166
  state.budget = formatBudget();
149
167
  if (active)
150
168
  redraw();
@@ -160,10 +178,11 @@ export function prepareFooterPrompt() {
160
178
  process.stdout.write(ANSI.clearLine);
161
179
  return true;
162
180
  }
163
- export async function askWithFooterPrompt(rl, prefill = '') {
181
+ export async function askWithFooterPrompt(rl, prefill = '', options = {}) {
164
182
  if (!prepareFooterPrompt()) {
165
183
  return rl.question(theme.prompt(PROMPT_PREFIX));
166
184
  }
185
+ const echoSubmittedLine = options.echoSubmittedLine !== false;
167
186
  const answerPromise = rl.question(theme.prompt(PROMPT_PREFIX));
168
187
  if (prefill) {
169
188
  setImmediate(() => {
@@ -179,23 +198,32 @@ export async function askWithFooterPrompt(rl, prefill = '') {
179
198
  });
180
199
  }
181
200
  const answer = await answerPromise;
182
- finishFooterPrompt(answer);
201
+ finishFooterPrompt(answer, echoSubmittedLine);
183
202
  return answer;
184
203
  }
185
- function finishFooterPrompt(answer) {
204
+ function finishFooterPrompt(answer, echoSubmittedLine) {
186
205
  state.acceptingPrompt = false;
187
206
  state.draft = '';
188
207
  if (!active)
189
208
  return;
190
- const trimmed = answer.replace(/\r?\n/g, ' ');
191
- if (trimmed.trim()) {
192
- writeScrollableLine(formatTranscriptUserLine(trimmed, active.cols));
209
+ if (echoSubmittedLine) {
210
+ writeFooterSubmittedLine(answer);
193
211
  }
194
212
  else {
195
213
  process.stdout.write(ANSI.moveTo(active.scrollBottom, 1));
196
214
  }
197
215
  redraw();
198
216
  }
217
+ export function writeFooterSubmittedLine(answer) {
218
+ if (!active)
219
+ return;
220
+ const trimmed = answer.replace(/\r?\n/g, ' ');
221
+ if (trimmed.trim()) {
222
+ writeScrollableLine(formatTranscriptUserLine(trimmed, active.cols));
223
+ return;
224
+ }
225
+ process.stdout.write(ANSI.moveTo(active.scrollBottom, 1));
226
+ }
199
227
  export function writeScrollableLine(line) {
200
228
  if (!active) {
201
229
  process.stdout.write(line + '\n');
@@ -260,7 +288,7 @@ function redraw(restoreCursor = true) {
260
288
  function footerLines(cols) {
261
289
  const status = state.template?.trim()
262
290
  ? renderTemplate(state.template)
263
- : `Provider ${state.provider} | Model ${state.model} | Permissions ${state.permissionMode} | Session ${state.sessionName || state.sessionId} | v${state.version || getCurrentVersion()}`;
291
+ : `Provider ${state.provider} | Model ${state.model} | Permissions ${state.permissionMode} | Session ${sessionDisplay()} | v${state.version || getCurrentVersion()}`;
264
292
  const activity = renderActivity();
265
293
  const draft = state.draft.replace(/[\r\n]+/g, ' ');
266
294
  const prompt = state.acceptingPrompt
@@ -268,13 +296,17 @@ function footerLines(cols) {
268
296
  : draft
269
297
  ? theme.prompt(PROMPT_PREFIX) + theme.command(clipAnsi(draft, Math.max(10, cols - PROMPT_PREFIX.length - 2))) + theme.prompt(' \u258a')
270
298
  : theme.prompt(PROMPT_PREFIX) + theme.prompt('\u258a ') + theme.dim('Type your message or @path/to/file');
271
- const columnWidth = Math.max(14, Math.floor(cols / 4) - 2);
299
+ const columnWidths = footerColumnWidths(cols);
272
300
  const workspace = compactCwd(state.cwd);
273
301
  const sandbox = state.sandbox === 'off' ? 'no sandbox' : state.sandbox || 'no sandbox';
274
- const cost = state.lastCost || '$0.0000';
275
- const tokens = state.lastTokens || '0 tokens';
276
302
  const budget = state.budget || formatBudget();
277
- const usage = budget ? `${cost} | ${tokens} | budget ${budget}` : `${cost} | ${tokens}`;
303
+ const latency = formatFooterLatency();
304
+ const usageCore = `${state.sessionCost || '$0.0000'} | ${state.sessionTokens || '0 tokens'}`;
305
+ const usage = [
306
+ usageCore,
307
+ latency,
308
+ budget ? `budget ${budget}` : '',
309
+ ].filter(Boolean).join(' | ');
278
310
  const labels = [
279
311
  'workspace',
280
312
  'sandbox',
@@ -291,40 +323,50 @@ function footerLines(cols) {
291
323
  theme.command(padLine(status, cols)),
292
324
  theme.command(padLine(`${activityGlyph()} ${activity}`, cols)),
293
325
  padLine(prompt, cols),
294
- theme.dim(joinColumns(labels, columnWidth, cols)),
326
+ theme.dim(joinColumns(labels, columnWidths, cols)),
295
327
  joinColumns([
296
328
  theme.primary(values[0]),
297
329
  state.sandbox === 'off' ? theme.warning(values[1]) : theme.success(values[1]),
298
330
  theme.command(values[2]),
299
331
  theme.cost(values[3]),
300
- ], columnWidth, cols),
332
+ ], columnWidths, cols),
301
333
  ];
302
334
  }
303
335
  function renderActivity() {
304
- if (state.activityStartedAtMs) {
305
- const elapsed = formatDuration(Date.now() - state.activityStartedAtMs);
306
- const turn = state.turn > 0 ? ` - turn ${state.turn}` : '';
307
- return `${state.activity} (${elapsed} - Esc/F5 to interrupt${turn})`;
336
+ if (state.activityStartedAtMs !== null) {
337
+ const elapsed = Math.max(0, Date.now() - state.activityStartedAtMs);
338
+ const detail = [
339
+ formatDuration(elapsed),
340
+ 'Esc/F5 to interrupt',
341
+ state.turn > 0 ? `turn ${state.turn}` : '',
342
+ ].filter(Boolean).join(' • ');
343
+ return `${state.activity} (${detail})`;
308
344
  }
309
345
  return state.activity || 'Ready';
310
346
  }
311
347
  function activityGlyph() {
312
- const frames = ['\u25e6', '\u25c7', '\u25c6', '\u25c7'];
313
- return state.activityStartedAtMs ? frames[state.activityFrame % frames.length] : '\u25b6';
348
+ const frames = ['\u25dc', '\u25dd', '\u25de', '\u25df'];
349
+ return state.activityStartedAtMs !== null ? frames[state.activityFrame % frames.length] : '\u25b6';
314
350
  }
315
351
  function renderTemplate(template) {
316
- const usage = getUsageSummary();
352
+ const usage = getUsageSummary(state.sessionId);
353
+ const latency = formatFooterLatency();
317
354
  const values = {
318
355
  provider: state.provider,
319
356
  model: state.model,
320
357
  permissions: state.permissionMode,
321
- session: state.sessionName || state.sessionId,
358
+ session: sessionDisplay(),
322
359
  cwd: state.cwd,
323
360
  workspace: compactCwd(state.cwd).value,
324
361
  sandbox: state.sandbox === 'off' ? 'no sandbox' : state.sandbox || 'no sandbox',
325
362
  mode: state.mode,
326
363
  cost: state.lastCost,
327
364
  tokens: state.lastTokens,
365
+ sessioncost: state.sessionCost,
366
+ sessiontokens: state.sessionTokens,
367
+ latency,
368
+ firsttoken: state.lastFirstToken,
369
+ turnlatency: state.lastTurnLatency,
328
370
  budget: usage.budget.monthlyLimit > 0 ? `$${usage.budget.monthlyLimit}` : '',
329
371
  activity: renderActivity(),
330
372
  version: state.version || getCurrentVersion(),
@@ -334,6 +376,14 @@ function renderTemplate(template) {
334
376
  return normalized in values ? values[normalized] : `{${key}}`;
335
377
  });
336
378
  }
379
+ function safeUsageSummary(sessionId) {
380
+ try {
381
+ return getUsageSummary(sessionId);
382
+ }
383
+ catch {
384
+ return null;
385
+ }
386
+ }
337
387
  function formatBudget() {
338
388
  try {
339
389
  const usage = getUsageSummary();
@@ -347,6 +397,39 @@ function formatBudget() {
347
397
  }
348
398
  return '';
349
399
  }
400
+ function formatTokenCount(n) {
401
+ return n > 999 ? `${(n / 1000).toFixed(1)}K` : String(n);
402
+ }
403
+ function finiteMs(value) {
404
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0
405
+ ? value
406
+ : undefined;
407
+ }
408
+ function formatLatency(ms) {
409
+ return ms >= 1000 ? `${(ms / 1000).toFixed(1)}s` : `${Math.round(ms)}ms`;
410
+ }
411
+ function formatFooterLatency() {
412
+ const bits = [];
413
+ if (state.lastFirstToken)
414
+ bits.push(`first ${state.lastFirstToken}`);
415
+ if (state.lastTurnLatency)
416
+ bits.push(`turn ${state.lastTurnLatency}`);
417
+ return bits.join(' | ');
418
+ }
419
+ function sessionDisplay() {
420
+ const name = (state.sessionName || '').trim();
421
+ if (!name)
422
+ return state.sessionId;
423
+ return name.replace(/^Session\s+/i, '').trim() || name;
424
+ }
425
+ function footerColumnWidths(cols) {
426
+ const side = Math.max(10, Math.min(18, Math.floor(cols * 0.17)));
427
+ const last = cols - side * 3;
428
+ if (last >= 10)
429
+ return [side, side, side, last];
430
+ const equal = Math.max(8, Math.floor(cols / 4));
431
+ return [equal, equal, equal, Math.max(8, cols - equal * 3)];
432
+ }
350
433
  function compactCwd(cwd) {
351
434
  const home = process.env.USERPROFILE || process.env.HOME || '';
352
435
  const normalized = home && cwd.toLowerCase().startsWith(home.toLowerCase())
@@ -359,8 +442,14 @@ function compactCwd(cwd) {
359
442
  value: value || '~',
360
443
  };
361
444
  }
362
- function joinColumns(values, columnWidth, cols) {
363
- return padLine(values.map((value) => visiblePad(clipAnsi(value, columnWidth), columnWidth)).join(''), cols);
445
+ function joinColumns(values, columnWidths, cols) {
446
+ const widths = Array.isArray(columnWidths)
447
+ ? columnWidths
448
+ : values.map(() => columnWidths);
449
+ return padLine(values.map((value, index) => {
450
+ const width = widths[index] ?? widths.at(-1) ?? 12;
451
+ return visiblePad(clipAnsi(value, width), width);
452
+ }).join(''), cols);
364
453
  }
365
454
  function padLine(value, cols) {
366
455
  const plainLength = visibleLength(value);
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-footer.js","sourceRoot":"","sources":["../src/fixed-footer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixed-footer.js","sourceRoot":"","sources":["../src/fixed-footer.ts"],"names":[],"mappings":"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"}
@@ -65,34 +65,34 @@ export function buildCommitPrompt(cwd) {
65
65
  const recentLog = gitLog(cwd, 5);
66
66
  if (!status && !stagedDiff && !unstagedDiff)
67
67
  return null;
68
- return `Generate a git commit for the following changes.
69
-
70
- ## Git Status
71
- \`\`\`
72
- ${status}
73
- \`\`\`
74
-
75
- ## Staged Changes
76
- \`\`\`diff
77
- ${stagedDiff || '(no staged changes)'}
78
- \`\`\`
79
-
80
- ## Unstaged Changes
81
- \`\`\`diff
82
- ${unstagedDiff.slice(0, 5000) || '(no unstaged changes)'}
83
- \`\`\`
84
-
85
- ## Recent Commits (for style reference)
86
- \`\`\`
87
- ${recentLog}
88
- \`\`\`
89
-
90
- Instructions:
91
- 1. If there are unstaged changes, suggest which files to stage with \`git add\`
92
- 2. Write a concise commit message (imperative mood, <72 chars title)
93
- 3. Add a body if the changes are complex
94
- 4. Run the git commands to stage and commit
95
-
68
+ return `Generate a git commit for the following changes.
69
+
70
+ ## Git Status
71
+ \`\`\`
72
+ ${status}
73
+ \`\`\`
74
+
75
+ ## Staged Changes
76
+ \`\`\`diff
77
+ ${stagedDiff || '(no staged changes)'}
78
+ \`\`\`
79
+
80
+ ## Unstaged Changes
81
+ \`\`\`diff
82
+ ${unstagedDiff.slice(0, 5000) || '(no unstaged changes)'}
83
+ \`\`\`
84
+
85
+ ## Recent Commits (for style reference)
86
+ \`\`\`
87
+ ${recentLog}
88
+ \`\`\`
89
+
90
+ Instructions:
91
+ 1. If there are unstaged changes, suggest which files to stage with \`git add\`
92
+ 2. Write a concise commit message (imperative mood, <72 chars title)
93
+ 3. Add a body if the changes are complex
94
+ 4. Run the git commands to stage and commit
95
+
96
96
  Follow the existing commit message style from the recent log.`;
97
97
  }
98
98
  /**
@@ -106,27 +106,27 @@ export function buildPRPrompt(cwd) {
106
106
  const diffStat = git(`diff ${baseBranch}...HEAD --stat`, cwd);
107
107
  const log = git(`log ${baseBranch}..HEAD --oneline`, cwd);
108
108
  const diff = git(`diff ${baseBranch}...HEAD`, cwd);
109
- return `Create a GitHub Pull Request for branch \`${branch}\` into \`${baseBranch}\`.
110
-
111
- ## Commits
112
- \`\`\`
113
- ${log}
114
- \`\`\`
115
-
116
- ## Diff Summary
117
- \`\`\`
118
- ${diffStat}
119
- \`\`\`
120
-
121
- ## Full Diff (truncated)
122
- \`\`\`diff
123
- ${diff.slice(0, 10000)}
124
- \`\`\`
125
-
126
- Instructions:
127
- 1. Write a PR title (<70 chars)
128
- 2. Write a description with: Summary (bullet points), Test Plan
129
- 3. Run: gh pr create --title "..." --body "..."
109
+ return `Create a GitHub Pull Request for branch \`${branch}\` into \`${baseBranch}\`.
110
+
111
+ ## Commits
112
+ \`\`\`
113
+ ${log}
114
+ \`\`\`
115
+
116
+ ## Diff Summary
117
+ \`\`\`
118
+ ${diffStat}
119
+ \`\`\`
120
+
121
+ ## Full Diff (truncated)
122
+ \`\`\`diff
123
+ ${diff.slice(0, 10000)}
124
+ \`\`\`
125
+
126
+ Instructions:
127
+ 1. Write a PR title (<70 chars)
128
+ 2. Write a description with: Summary (bullet points), Test Plan
129
+ 3. Run: gh pr create --title "..." --body "..."
130
130
  4. Return the PR URL`;
131
131
  }
132
132
  function detectBaseBranch(cwd) {
@@ -0,0 +1,126 @@
1
+ import type { Message } from './types.js';
2
+ export type ImportSource = 'claude' | 'codex' | 'mempalace';
3
+ export type ImportKind = 'session' | 'drawer';
4
+ export interface ImportSourceStatus {
5
+ source: ImportSource;
6
+ detected: boolean;
7
+ rootPath: string;
8
+ artifactsFound: number;
9
+ note?: string;
10
+ }
11
+ export interface ImportPreviewThread {
12
+ sourcePath: string;
13
+ sourceThreadId: string;
14
+ name: string;
15
+ cwd: string;
16
+ model: string;
17
+ provider: string;
18
+ messageCount: number;
19
+ createdAt: string;
20
+ updatedAt: string;
21
+ }
22
+ export interface ImportPreview {
23
+ source: ImportSource;
24
+ artifactsFound: number;
25
+ importableArtifacts: number;
26
+ alreadyImportedArtifacts: number;
27
+ totalMessages: number;
28
+ threads: ImportPreviewThread[];
29
+ warnings: string[];
30
+ }
31
+ export interface ImportRunResult {
32
+ runId: string;
33
+ source: ImportSource;
34
+ importedArtifacts: number;
35
+ skippedArtifacts: number;
36
+ importedMessages: number;
37
+ importedSessions: number;
38
+ importedDrawers: number;
39
+ warnings: string[];
40
+ }
41
+ export interface ImportRollbackResult {
42
+ runId: string;
43
+ deletedSessions: number;
44
+ deletedDrawers: number;
45
+ warnings: string[];
46
+ }
47
+ export interface ImportStatusSummary {
48
+ ledgerEntries: number;
49
+ runs: number;
50
+ sessionsImported: number;
51
+ drawersImported: number;
52
+ bySource: Record<ImportSource, {
53
+ sessions: number;
54
+ drawers: number;
55
+ }>;
56
+ }
57
+ interface ImportLedgerEntry {
58
+ runId: string;
59
+ source: ImportSource;
60
+ kind: ImportKind;
61
+ sourcePath: string;
62
+ contentSha256: string;
63
+ importedId: string;
64
+ importedAt: string;
65
+ messageCount?: number;
66
+ }
67
+ interface ParsedThread {
68
+ sourcePath: string;
69
+ sourceThreadId: string;
70
+ name: string;
71
+ cwd: string;
72
+ model: string;
73
+ provider: string;
74
+ messages: Message[];
75
+ createdAt: string;
76
+ updatedAt: string;
77
+ contentSha256: string;
78
+ }
79
+ interface ParsedDrawer {
80
+ sourcePath: string;
81
+ content: string;
82
+ contentSha256: string;
83
+ wing: string;
84
+ room: string;
85
+ tags: string[];
86
+ importance: number;
87
+ }
88
+ interface ImportOptions {
89
+ homeDir?: string;
90
+ cwd?: string;
91
+ limit?: number;
92
+ }
93
+ interface RunImportOptions extends ImportOptions {
94
+ dryRun?: boolean;
95
+ }
96
+ interface ParseWarning {
97
+ sourcePath: string;
98
+ warning: string;
99
+ }
100
+ declare function parseClaudeThread(path: string): {
101
+ thread: ParsedThread | null;
102
+ warnings: ParseWarning[];
103
+ };
104
+ declare function parseCodexThread(path: string): {
105
+ thread: ParsedThread | null;
106
+ warnings: ParseWarning[];
107
+ };
108
+ declare function parseMempalaceDrawers(homeDir: string): {
109
+ drawers: ParsedDrawer[];
110
+ warnings: ParseWarning[];
111
+ };
112
+ declare function readLedger(): ImportLedgerEntry[];
113
+ declare function ledgerKey(source: ImportSource, kind: ImportKind, sourcePath: string, contentSha256: string): string;
114
+ export declare function scanImportSources(options?: ImportOptions): ImportSourceStatus[];
115
+ export declare function previewImport(source: ImportSource, options?: ImportOptions): ImportPreview;
116
+ export declare function runImport(source: ImportSource, options?: RunImportOptions): ImportRunResult;
117
+ export declare function rollbackImport(runId: string, cwd?: string): ImportRollbackResult;
118
+ export declare function importStatus(): ImportStatusSummary;
119
+ export declare const _internal: {
120
+ parseClaudeThread: typeof parseClaudeThread;
121
+ parseCodexThread: typeof parseCodexThread;
122
+ parseMempalaceDrawers: typeof parseMempalaceDrawers;
123
+ readLedger: typeof readLedger;
124
+ ledgerKey: typeof ledgerKey;
125
+ };
126
+ export {};