@ginkoai/cli 2.4.5 → 2.5.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 (174) hide show
  1. package/LICENSE +661 -21
  2. package/dist/commands/agent/status.d.ts.map +1 -1
  3. package/dist/commands/agent/status.js +2 -0
  4. package/dist/commands/agent/status.js.map +1 -1
  5. package/dist/commands/assign.d.ts.map +1 -1
  6. package/dist/commands/assign.js +2 -0
  7. package/dist/commands/assign.js.map +1 -1
  8. package/dist/commands/charter.js +3 -3
  9. package/dist/commands/charter.js.map +1 -1
  10. package/dist/commands/context/index.d.ts +28 -0
  11. package/dist/commands/context/index.d.ts.map +1 -0
  12. package/dist/commands/context/index.js +165 -0
  13. package/dist/commands/context/index.js.map +1 -0
  14. package/dist/commands/context/score.d.ts +34 -0
  15. package/dist/commands/context/score.d.ts.map +1 -0
  16. package/dist/commands/context/score.js +163 -0
  17. package/dist/commands/context/score.js.map +1 -0
  18. package/dist/commands/diff/diff-command.d.ts.map +1 -1
  19. package/dist/commands/diff/diff-command.js +2 -0
  20. package/dist/commands/diff/diff-command.js.map +1 -1
  21. package/dist/commands/epic/status.d.ts.map +1 -1
  22. package/dist/commands/epic/status.js +5 -0
  23. package/dist/commands/epic/status.js.map +1 -1
  24. package/dist/commands/graph/api-client.d.ts +130 -0
  25. package/dist/commands/graph/api-client.d.ts.map +1 -1
  26. package/dist/commands/graph/api-client.js +153 -0
  27. package/dist/commands/graph/api-client.js.map +1 -1
  28. package/dist/commands/graph/cleanup.d.ts.map +1 -1
  29. package/dist/commands/graph/cleanup.js +2 -0
  30. package/dist/commands/graph/cleanup.js.map +1 -1
  31. package/dist/commands/graph/explore.d.ts.map +1 -1
  32. package/dist/commands/graph/explore.js +2 -0
  33. package/dist/commands/graph/explore.js.map +1 -1
  34. package/dist/commands/graph/query.d.ts.map +1 -1
  35. package/dist/commands/graph/query.js +2 -0
  36. package/dist/commands/graph/query.js.map +1 -1
  37. package/dist/commands/graph/status.d.ts.map +1 -1
  38. package/dist/commands/graph/status.js +2 -0
  39. package/dist/commands/graph/status.js.map +1 -1
  40. package/dist/commands/handoff.d.ts.map +1 -1
  41. package/dist/commands/handoff.js +34 -0
  42. package/dist/commands/handoff.js.map +1 -1
  43. package/dist/commands/health.d.ts +15 -0
  44. package/dist/commands/health.d.ts.map +1 -0
  45. package/dist/commands/health.js +212 -0
  46. package/dist/commands/health.js.map +1 -0
  47. package/dist/commands/init-copilot.js +1 -1
  48. package/dist/commands/init-copilot.js.map +1 -1
  49. package/dist/commands/init.d.ts.map +1 -1
  50. package/dist/commands/init.js +74 -2
  51. package/dist/commands/init.js.map +1 -1
  52. package/dist/commands/join/index.js +2 -2
  53. package/dist/commands/knowledge/create.d.ts.map +1 -1
  54. package/dist/commands/knowledge/create.js +2 -0
  55. package/dist/commands/knowledge/create.js.map +1 -1
  56. package/dist/commands/knowledge/graph.d.ts.map +1 -1
  57. package/dist/commands/knowledge/graph.js +2 -0
  58. package/dist/commands/knowledge/graph.js.map +1 -1
  59. package/dist/commands/knowledge/search.d.ts.map +1 -1
  60. package/dist/commands/knowledge/search.js +2 -0
  61. package/dist/commands/knowledge/search.js.map +1 -1
  62. package/dist/commands/log.d.ts.map +1 -1
  63. package/dist/commands/log.js +4 -3
  64. package/dist/commands/log.js.map +1 -1
  65. package/dist/commands/orchestrate.d.ts.map +1 -1
  66. package/dist/commands/orchestrate.js +2 -0
  67. package/dist/commands/orchestrate.js.map +1 -1
  68. package/dist/commands/pull/pull-command.d.ts.map +1 -1
  69. package/dist/commands/pull/pull-command.js +2 -0
  70. package/dist/commands/pull/pull-command.js.map +1 -1
  71. package/dist/commands/push/push-command.d.ts.map +1 -1
  72. package/dist/commands/push/push-command.js +5 -0
  73. package/dist/commands/push/push-command.js.map +1 -1
  74. package/dist/commands/ship.js +1 -1
  75. package/dist/commands/ship.js.map +1 -1
  76. package/dist/commands/sprint/create.d.ts +9 -5
  77. package/dist/commands/sprint/create.d.ts.map +1 -1
  78. package/dist/commands/sprint/create.js +226 -29
  79. package/dist/commands/sprint/create.js.map +1 -1
  80. package/dist/commands/sprint/index.d.ts.map +1 -1
  81. package/dist/commands/sprint/index.js +9 -5
  82. package/dist/commands/sprint/index.js.map +1 -1
  83. package/dist/commands/sprint/status.d.ts +3 -0
  84. package/dist/commands/sprint/status.d.ts.map +1 -1
  85. package/dist/commands/sprint/status.js +88 -2
  86. package/dist/commands/sprint/status.js.map +1 -1
  87. package/dist/commands/start/index.js +3 -3
  88. package/dist/commands/start/index.js.map +1 -1
  89. package/dist/commands/start/start-reflection.d.ts +5 -0
  90. package/dist/commands/start/start-reflection.d.ts.map +1 -1
  91. package/dist/commands/start/start-reflection.js +60 -11
  92. package/dist/commands/start/start-reflection.js.map +1 -1
  93. package/dist/commands/sync/sync-command.js +1 -1
  94. package/dist/commands/sync/sync-command.js.map +1 -1
  95. package/dist/commands/sync/team-sync.js +1 -1
  96. package/dist/commands/task/status.d.ts +1 -1
  97. package/dist/commands/task/status.d.ts.map +1 -1
  98. package/dist/commands/task/status.js +161 -6
  99. package/dist/commands/task/status.js.map +1 -1
  100. package/dist/commands/team/members.d.ts.map +1 -1
  101. package/dist/commands/team/members.js +4 -0
  102. package/dist/commands/team/members.js.map +1 -1
  103. package/dist/commands/team/projects.d.ts.map +1 -1
  104. package/dist/commands/team/projects.js +3 -0
  105. package/dist/commands/team/projects.js.map +1 -1
  106. package/dist/commands/team/status.d.ts.map +1 -1
  107. package/dist/commands/team/status.js +2 -0
  108. package/dist/commands/team/status.js.map +1 -1
  109. package/dist/index.js +12 -8
  110. package/dist/index.js.map +1 -1
  111. package/dist/lib/adoption-score.d.ts +1 -1
  112. package/dist/lib/adoption-score.d.ts.map +1 -1
  113. package/dist/lib/adoption-score.js +1 -0
  114. package/dist/lib/adoption-score.js.map +1 -1
  115. package/dist/lib/context-loader-events.d.ts +4 -4
  116. package/dist/lib/context-loader-events.d.ts.map +1 -1
  117. package/dist/lib/context-loader-events.js +69 -18
  118. package/dist/lib/context-loader-events.js.map +1 -1
  119. package/dist/lib/context-quality.d.ts +224 -0
  120. package/dist/lib/context-quality.d.ts.map +1 -0
  121. package/dist/lib/context-quality.js +363 -0
  122. package/dist/lib/context-quality.js.map +1 -0
  123. package/dist/lib/event-logger.d.ts.map +1 -1
  124. package/dist/lib/event-logger.js +2 -3
  125. package/dist/lib/event-logger.js.map +1 -1
  126. package/dist/lib/health-checker.d.ts +35 -0
  127. package/dist/lib/health-checker.d.ts.map +1 -0
  128. package/dist/lib/health-checker.js +475 -0
  129. package/dist/lib/health-checker.js.map +1 -0
  130. package/dist/lib/output-formatter.d.ts +48 -0
  131. package/dist/lib/output-formatter.d.ts.map +1 -1
  132. package/dist/lib/output-formatter.js +168 -4
  133. package/dist/lib/output-formatter.js.map +1 -1
  134. package/dist/lib/resumption-brief.d.ts +91 -0
  135. package/dist/lib/resumption-brief.d.ts.map +1 -0
  136. package/dist/lib/resumption-brief.js +344 -0
  137. package/dist/lib/resumption-brief.js.map +1 -0
  138. package/dist/lib/staleness-detector.js +1 -1
  139. package/dist/lib/state-cache.d.ts +43 -0
  140. package/dist/lib/state-cache.d.ts.map +1 -1
  141. package/dist/lib/state-cache.js +72 -0
  142. package/dist/lib/state-cache.js.map +1 -1
  143. package/dist/lib/targeted-coaching.js +2 -2
  144. package/dist/lib/task-parser.d.ts +34 -4
  145. package/dist/lib/task-parser.d.ts.map +1 -1
  146. package/dist/lib/task-parser.js +110 -4
  147. package/dist/lib/task-parser.js.map +1 -1
  148. package/dist/services/context-search.d.ts.map +1 -1
  149. package/dist/services/context-search.js +4 -2
  150. package/dist/services/context-search.js.map +1 -1
  151. package/dist/templates/ai-instructions-template.d.ts.map +1 -1
  152. package/dist/templates/ai-instructions-template.js +20 -0
  153. package/dist/templates/ai-instructions-template.js.map +1 -1
  154. package/dist/templates/commands/handoff.md +40 -0
  155. package/dist/templates/commands/quick.md +27 -0
  156. package/dist/templates/commands/ship.md +43 -0
  157. package/dist/templates/commands/start.md +15 -0
  158. package/dist/templates/commands/vibecheck.md +36 -0
  159. package/dist/templates/skills/ginko/SKILL.md +1 -8
  160. package/dist/templates/sprint-template.md +273 -0
  161. package/dist/utils/cloud-guard.d.ts +48 -0
  162. package/dist/utils/cloud-guard.d.ts.map +1 -0
  163. package/dist/utils/cloud-guard.js +107 -0
  164. package/dist/utils/cloud-guard.js.map +1 -0
  165. package/dist/utils/config-loader.d.ts +2 -2
  166. package/dist/utils/config-loader.js +2 -2
  167. package/dist/utils/helpers.d.ts.map +1 -1
  168. package/dist/utils/helpers.js +11 -10
  169. package/dist/utils/helpers.js.map +1 -1
  170. package/dist/utils/perf-logger.d.ts +100 -0
  171. package/dist/utils/perf-logger.d.ts.map +1 -0
  172. package/dist/utils/perf-logger.js +132 -0
  173. package/dist/utils/perf-logger.js.map +1 -0
  174. package/package.json +3 -3
@@ -375,18 +375,182 @@ function formatOfflineHeader(context) {
375
375
  * @returns Warning message string or null if fresh/no warning needed
376
376
  *
377
377
  * Examples:
378
- * - Stale: "⚠️ Status may be outdated. Run `ginko sync` when online."
379
- * - Expired: "🚨 Status is outdated. Run `ginko sync` when online to refresh."
378
+ * - Stale: "⚠️ Status may be outdated. Run `ginko pull` when online."
379
+ * - Expired: "🚨 Status is outdated. Run `ginko pull` when online to refresh."
380
380
  */
381
381
  function formatStalenessWarning(staleness) {
382
382
  if (!staleness || staleness === 'fresh') {
383
383
  return null;
384
384
  }
385
385
  if (staleness === 'expired') {
386
- return GINKO_BRAND.error('🚨 Status is outdated. Run `ginko sync` when online to refresh.');
386
+ return GINKO_BRAND.error('🚨 Status is outdated. Run `ginko pull` when online to refresh.');
387
387
  }
388
388
  // Default to stale warning
389
- return GINKO_BRAND.warning('⚠️ Status may be outdated. Run `ginko sync` when online.');
389
+ return GINKO_BRAND.warning('⚠️ Status may be outdated. Run `ginko pull` when online.');
390
+ }
391
+ /**
392
+ * Format session output in clean slate format (EPIC-018 Sprint 1 t07)
393
+ *
394
+ * Transforms from box-drawing tables to a simpler label:value format
395
+ * that's easier to scan. Target: <15 lines.
396
+ *
397
+ * Layout:
398
+ * ginko | Hot (10/10) | Think & Build | feature/dashboard-settings
399
+ *
400
+ * RESUME: Dashboard settings - Teams to Projects rename
401
+ * Stopped at: Checking if "team" appears in API responses
402
+ * Open: Should member management terminology change?
403
+ * Files: src/dashboard/settings.tsx, src/components/TeamPanel.tsx
404
+ *
405
+ * Sprint: adhoc_260204_s01 | 0% | 6 tasks
406
+ * Next: t01 - Dashboard settings: rename Teams to Projects (continue)
407
+ *
408
+ * Branch: 6 uncommitted | Tests: passing
409
+ */
410
+ export function formatCleanSlateOutput(context, config = {}) {
411
+ const { width = 75 } = config;
412
+ const lines = [];
413
+ // Line 1: Header with flow state and branch
414
+ const flowState = getFlowStateLabel(context.session.flowScore);
415
+ const headerParts = [
416
+ GINKO_BRAND.header,
417
+ GINKO_BRAND.highlight(`${flowState} (${context.session.flowScore}/10)`),
418
+ context.session.workMode,
419
+ GINKO_BRAND.dim(context.git.branch)
420
+ ];
421
+ // Add offline indicator if applicable
422
+ if (context.session.isOffline) {
423
+ const offlineColor = context.session.cacheStaleness === 'expired'
424
+ ? GINKO_BRAND.error
425
+ : GINKO_BRAND.warning;
426
+ headerParts.splice(1, 0, offlineColor('OFFLINE'));
427
+ }
428
+ lines.push(headerParts.join(GINKO_BRAND.dim(' | ')));
429
+ lines.push('');
430
+ // RESUME section - uses resumption brief if available
431
+ if (context.resumptionBrief) {
432
+ const brief = context.resumptionBrief;
433
+ // Main resume line with summary
434
+ lines.push(GINKO_BRAND.success('RESUME: ') +
435
+ truncate(brief.lastSession.summary, width - 10));
436
+ // Stopping point - only show if different from summary
437
+ if (brief.lastSession.stoppingPoint &&
438
+ brief.lastSession.stoppingPoint !== brief.lastSession.summary &&
439
+ !brief.lastSession.summary.includes(brief.lastSession.stoppingPoint)) {
440
+ lines.push(GINKO_BRAND.dim(' Stopped at: ') +
441
+ truncate(brief.lastSession.stoppingPoint, width - 15));
442
+ }
443
+ // Open questions (show first one)
444
+ if (brief.lastSession.openQuestions.length > 0) {
445
+ const questionLabel = brief.lastSession.openQuestions.length > 1
446
+ ? `Open (${brief.lastSession.openQuestions.length}):`
447
+ : 'Open:';
448
+ lines.push(GINKO_BRAND.warning(' ' + questionLabel + ' ') +
449
+ truncate(brief.lastSession.openQuestions[0], width - 15));
450
+ }
451
+ // Files modified (compact list)
452
+ if (brief.lastSession.filesModified.length > 0) {
453
+ const fileNames = brief.lastSession.filesModified
454
+ .slice(0, 3)
455
+ .map(f => f.split('/').pop() || f)
456
+ .join(', ');
457
+ const moreCount = brief.lastSession.filesModified.length - 3;
458
+ const filesDisplay = moreCount > 0
459
+ ? `${fileNames} +${moreCount} more`
460
+ : fileNames;
461
+ lines.push(GINKO_BRAND.dim(' Files: ') + filesDisplay);
462
+ }
463
+ lines.push('');
464
+ }
465
+ else if (context.synthesis?.resumePoint) {
466
+ // Fallback to synthesis resume point
467
+ lines.push(GINKO_BRAND.success('RESUME: ') +
468
+ truncate(context.synthesis.resumePoint, width - 10));
469
+ lines.push('');
470
+ }
471
+ // Sprint section
472
+ if (context.sprint) {
473
+ const progress = typeof context.sprint.progress === 'number' ? context.sprint.progress : 0;
474
+ const taskCount = context.sprint.tasks?.length || 0;
475
+ const sprintName = context.sprint.name || context.sprint.id || 'Active Sprint';
476
+ // Sprint header line: Sprint: name | progress% | N tasks
477
+ lines.push(GINKO_BRAND.dim('Sprint: ') +
478
+ GINKO_BRAND.highlight(truncate(sprintName, 30)) +
479
+ GINKO_BRAND.dim(' | ') +
480
+ (progress >= 100 ? GINKO_BRAND.success(`${progress}%`) : `${progress}%`) +
481
+ GINKO_BRAND.dim(` | ${taskCount} tasks`));
482
+ // Next task line
483
+ if (context.sprint.currentTask) {
484
+ const task = context.sprint.currentTask;
485
+ const statusLabel = task.status === 'in_progress' ? 'continue' : 'start';
486
+ const shortId = task.id.split('_').pop() || task.id;
487
+ lines.push(GINKO_BRAND.dim(' Next: ') +
488
+ GINKO_BRAND.warning(shortId) +
489
+ GINKO_BRAND.dim(' - ') +
490
+ truncate(task.title, width - 25) +
491
+ GINKO_BRAND.dim(` (${statusLabel})`));
492
+ // Cognitive scaffolding (compact: only show if present)
493
+ const scaffolding = [];
494
+ if (task.constraints && task.constraints.length > 0) {
495
+ const adrList = task.constraints.slice(0, 2).map(c => c.adr.id).join(', ');
496
+ scaffolding.push(chalk.magenta('Follow: ') + adrList);
497
+ }
498
+ if (task.patterns && task.patterns.length > 0) {
499
+ const patternList = task.patterns.slice(0, 2).map(p => {
500
+ const icon = p.confidence === 'high' ? '★' : p.confidence === 'medium' ? '◐' : '○';
501
+ return `${p.title} ${icon}`;
502
+ }).join(', ');
503
+ scaffolding.push(chalk.blue('Apply: ') + patternList);
504
+ }
505
+ if (task.gotchas && task.gotchas.length > 0) {
506
+ const gotcha = task.gotchas[0];
507
+ const icon = gotcha.severity === 'critical' ? '🚨' : gotcha.severity === 'high' ? '⚠️' : '💡';
508
+ scaffolding.push(chalk.red('Avoid: ') + `${icon} ${gotcha.title}`);
509
+ }
510
+ // Display scaffolding inline if present
511
+ if (scaffolding.length > 0) {
512
+ scaffolding.forEach(s => {
513
+ lines.push(GINKO_BRAND.dim(' ') + s);
514
+ });
515
+ }
516
+ }
517
+ lines.push('');
518
+ }
519
+ else {
520
+ lines.push(GINKO_BRAND.dim('No active sprint'));
521
+ lines.push('');
522
+ }
523
+ // Branch + Status line (compact)
524
+ const totalChanges = context.git.uncommittedChanges.modified.length +
525
+ context.git.uncommittedChanges.created.length +
526
+ context.git.uncommittedChanges.untracked.length;
527
+ const branchStatus = totalChanges > 0
528
+ ? `${totalChanges} uncommitted`
529
+ : 'clean';
530
+ const statusParts = [
531
+ GINKO_BRAND.dim('Branch: ') + branchStatus
532
+ ];
533
+ // Add any critical warnings inline (filter out redundant uncommitted warning)
534
+ if (context.synthesis?.blockedItems && context.synthesis.blockedItems.length > 0) {
535
+ statusParts.push(GINKO_BRAND.error('Blocked: ') +
536
+ truncate(context.synthesis.blockedItems[0], 40));
537
+ }
538
+ else {
539
+ // Filter warnings that don't duplicate the uncommitted count
540
+ const nonRedundantWarnings = context.git.warnings.filter(w => !w.includes('uncommitted'));
541
+ if (nonRedundantWarnings.length > 0) {
542
+ statusParts.push(GINKO_BRAND.warning(truncate(nonRedundantWarnings[0], 40)));
543
+ }
544
+ }
545
+ lines.push(statusParts.join(GINKO_BRAND.dim(' | ')));
546
+ // Staleness warning for offline mode
547
+ if (context.session.isOffline && context.session.cacheStaleness) {
548
+ const stalenessMsg = context.session.cacheStaleness === 'expired'
549
+ ? GINKO_BRAND.error('🚨 Status outdated. Run `ginko pull` when online.')
550
+ : GINKO_BRAND.warning('⚠️ Status may be outdated. Run `ginko pull` when online.');
551
+ lines.push(stalenessMsg);
552
+ }
553
+ return lines.join('\n');
390
554
  }
391
555
  /**
392
556
  * Format compact 8-line table for Claude Code display
@@ -1 +1 @@
1
- {"version":3,"file":"output-formatter.js","sourceRoot":"","sources":["../../src/lib/output-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-formatter.js","sourceRoot":"","sources":["../../src/lib/output-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @fileType: utility
3
+ * @status: current
4
+ * @updated: 2026-02-05
5
+ * @tags: [resumption-brief, context-synthesis, session-start, epic-018]
6
+ * @related: [context-loader-events.ts, ../commands/start/start-reflection.ts]
7
+ * @priority: critical
8
+ * @complexity: medium
9
+ * @dependencies: [context-loader-events.ts]
10
+ */
11
+ /**
12
+ * Resumption Brief Synthesis (EPIC-018 Sprint 1)
13
+ *
14
+ * Transforms raw event data into a structured "resumption brief" that helps
15
+ * AI assistants and human users quickly understand:
16
+ * - What was happening in the last session
17
+ * - Where work stopped
18
+ * - What questions remain open
19
+ * - Which files were touched
20
+ *
21
+ * This replaces the raw status dashboard with actionable resumption context.
22
+ */
23
+ import { LoadedContext } from './context-loader-events.js';
24
+ /**
25
+ * Resumption brief structure (EPIC-018 Sprint 1 t01)
26
+ *
27
+ * Provides a synthesized view of the last session for quick resumption.
28
+ */
29
+ export interface ResumptionBrief {
30
+ lastSession: {
31
+ /** Summarized description of work: "Renamed settings panel, investigating API" */
32
+ summary: string;
33
+ /** Where exactly work stopped: "Checking if 'team' appears in API responses" */
34
+ stoppingPoint: string;
35
+ /** Questions that remain unanswered: ["Should we update member management too?"] */
36
+ openQuestions: string[];
37
+ /** Files modified during the session (unique list) */
38
+ filesModified: string[];
39
+ /** Human-readable session duration: "2h 15m" */
40
+ duration: string;
41
+ };
42
+ /** Important decisions made during the session */
43
+ decisions: Array<{
44
+ description: string;
45
+ timestamp: Date;
46
+ }>;
47
+ /** Insights discovered that may inform future work */
48
+ insights: Array<{
49
+ description: string;
50
+ timestamp: Date;
51
+ }>;
52
+ /** When this brief was synthesized */
53
+ synthesizedAt: Date;
54
+ /** Number of events that were analyzed */
55
+ eventCount: number;
56
+ }
57
+ /**
58
+ * Options for brief synthesis
59
+ */
60
+ export interface SynthesisOptions {
61
+ /** Maximum number of events to analyze (default: 50) */
62
+ maxEvents?: number;
63
+ /** Maximum number of files to include (default: 10) */
64
+ maxFiles?: number;
65
+ /** Include team events in synthesis (default: false) */
66
+ includeTeam?: boolean;
67
+ }
68
+ /**
69
+ * Synthesize a resumption brief from loaded context (EPIC-018 Sprint 1 t01)
70
+ *
71
+ * Takes the raw events from LoadedContext and produces a structured
72
+ * ResumptionBrief that AI assistants can use to understand session state.
73
+ *
74
+ * @param context - Loaded context from event stream
75
+ * @param options - Synthesis options
76
+ * @returns Synthesized resumption brief
77
+ */
78
+ export declare function synthesizeResumptionBrief(context: LoadedContext, options?: SynthesisOptions): ResumptionBrief;
79
+ /**
80
+ * Format resumption brief for human display
81
+ *
82
+ * Converts the structured brief into a readable format.
83
+ */
84
+ export declare function formatResumptionBrief(brief: ResumptionBrief): string;
85
+ /**
86
+ * Format resumption brief for AI context (JSONL entry)
87
+ *
88
+ * Returns a structured object suitable for AI consumption.
89
+ */
90
+ export declare function formatResumptionBriefForAI(brief: ResumptionBrief): object;
91
+ //# sourceMappingURL=resumption-brief.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resumption-brief.d.ts","sourceRoot":"","sources":["../../src/lib/resumption-brief.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAAS,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE;QACX,kFAAkF;QAClF,OAAO,EAAE,MAAM,CAAC;QAChB,gFAAgF;QAChF,aAAa,EAAE,MAAM,CAAC;QACtB,oFAAoF;QACpF,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,sDAAsD;QACtD,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,gDAAgD;QAChD,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,kDAAkD;IAClD,SAAS,EAAE,KAAK,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC,CAAC;IACH,sDAAsD;IACtD,QAAQ,EAAE,KAAK,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC,CAAC;IACH,sCAAsC;IACtC,aAAa,EAAE,IAAI,CAAC;IACpB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CAuCjB;AA0PD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAsDpE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAqBzE"}