@ginkoai/cli 1.4.13 → 1.6.1
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.
- package/dist/commands/graph/api-client.d.ts +45 -1
- package/dist/commands/graph/api-client.d.ts.map +1 -1
- package/dist/commands/graph/api-client.js +86 -4
- package/dist/commands/graph/api-client.js.map +1 -1
- package/dist/commands/graph/health.d.ts +22 -0
- package/dist/commands/graph/health.d.ts.map +1 -0
- package/dist/commands/graph/health.js +37 -0
- package/dist/commands/graph/health.js.map +1 -0
- package/dist/commands/graph/index.d.ts.map +1 -1
- package/dist/commands/graph/index.js +8 -0
- package/dist/commands/graph/index.js.map +1 -1
- package/dist/commands/handoff.d.ts +7 -1
- package/dist/commands/handoff.d.ts.map +1 -1
- package/dist/commands/handoff.js +8 -0
- package/dist/commands/handoff.js.map +1 -1
- package/dist/commands/log.d.ts +5 -4
- package/dist/commands/log.d.ts.map +1 -1
- package/dist/commands/log.js +197 -216
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/start/start-reflection.d.ts +22 -0
- package/dist/commands/start/start-reflection.d.ts.map +1 -1
- package/dist/commands/start/start-reflection.js +295 -47
- package/dist/commands/start/start-reflection.js.map +1 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/lib/charter-loader.d.ts +74 -0
- package/dist/lib/charter-loader.d.ts.map +1 -0
- package/dist/lib/charter-loader.js +328 -0
- package/dist/lib/charter-loader.js.map +1 -0
- package/dist/lib/context-loader-events.d.ts +49 -0
- package/dist/lib/context-loader-events.d.ts.map +1 -1
- package/dist/lib/context-loader-events.js +289 -36
- package/dist/lib/context-loader-events.js.map +1 -1
- package/dist/lib/event-logger.d.ts +8 -5
- package/dist/lib/event-logger.d.ts.map +1 -1
- package/dist/lib/event-logger.js +54 -14
- package/dist/lib/event-logger.js.map +1 -1
- package/dist/lib/event-task-linker.d.ts +81 -0
- package/dist/lib/event-task-linker.d.ts.map +1 -0
- package/dist/lib/event-task-linker.js +132 -0
- package/dist/lib/event-task-linker.js.map +1 -0
- package/dist/lib/output-formatter.d.ts +182 -0
- package/dist/lib/output-formatter.d.ts.map +1 -0
- package/dist/lib/output-formatter.js +263 -0
- package/dist/lib/output-formatter.js.map +1 -0
- package/dist/lib/session-cursor.d.ts +12 -5
- package/dist/lib/session-cursor.d.ts.map +1 -1
- package/dist/lib/session-cursor.js +12 -5
- package/dist/lib/session-cursor.js.map +1 -1
- package/dist/lib/sprint-loader.d.ts +94 -0
- package/dist/lib/sprint-loader.d.ts.map +1 -0
- package/dist/lib/sprint-loader.js +330 -0
- package/dist/lib/sprint-loader.js.map +1 -0
- package/dist/lib/sprint-parser.d.ts +79 -0
- package/dist/lib/sprint-parser.d.ts.map +1 -0
- package/dist/lib/sprint-parser.js +346 -0
- package/dist/lib/sprint-parser.js.map +1 -0
- package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts.map +1 -1
- package/dist/lib/write-dispatcher/adapters/local-adapter.js +8 -2
- package/dist/lib/write-dispatcher/adapters/local-adapter.js.map +1 -1
- package/dist/utils/command-helpers.d.ts +76 -0
- package/dist/utils/command-helpers.d.ts.map +1 -0
- package/dist/utils/command-helpers.js +314 -0
- package/dist/utils/command-helpers.js.map +1 -0
- package/dist/utils/graph-health-monitor.d.ts +75 -0
- package/dist/utils/graph-health-monitor.d.ts.map +1 -0
- package/dist/utils/graph-health-monitor.js +108 -0
- package/dist/utils/graph-health-monitor.js.map +1 -0
- package/dist/utils/synthesis.d.ts +9 -0
- package/dist/utils/synthesis.d.ts.map +1 -1
- package/dist/utils/synthesis.js +47 -40
- package/dist/utils/synthesis.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-formatter.js","sourceRoot":"","sources":["../../src/lib/output-formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileType: utility
|
|
3
|
-
* @status:
|
|
4
|
-
* @updated: 2025-11-
|
|
5
|
-
* @tags: [session, cursor, event-stream, adr-043, multi-context]
|
|
6
|
-
* @related: [commands/start/index.ts, utils/helpers.ts, lib/write-dispatcher/write-dispatcher.ts]
|
|
7
|
-
* @priority:
|
|
3
|
+
* @status: deprecated
|
|
4
|
+
* @updated: 2025-11-19
|
|
5
|
+
* @tags: [session, cursor, event-stream, adr-043, multi-context, deprecated]
|
|
6
|
+
* @related: [commands/start/index.ts, utils/helpers.ts, lib/write-dispatcher/write-dispatcher.ts, context-loader-events.ts]
|
|
7
|
+
* @priority: low
|
|
8
8
|
* @complexity: medium
|
|
9
9
|
* @dependencies: [fs-extra, simple-git]
|
|
10
|
+
*
|
|
11
|
+
* @deprecated TASK-011: Cursors are over-engineered for our use case.
|
|
12
|
+
* We only need "last N events" queries, not stateful cursor tracking.
|
|
13
|
+
* Use loadRecentEvents() from context-loader-events.ts instead.
|
|
14
|
+
*
|
|
15
|
+
* Kept for backward compatibility during transition period.
|
|
16
|
+
* Will be removed in a future version after cloud-first refactor is complete.
|
|
10
17
|
*/
|
|
11
18
|
/**
|
|
12
19
|
* Session cursor interface (ADR-043)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-cursor.d.ts","sourceRoot":"","sources":["../../src/lib/session-cursor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-cursor.d.ts","sourceRoot":"","sources":["../../src/lib/session-cursor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB;AA4GD;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,GAAG,CAAC;CACvB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqBzB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAe3E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC9B,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA6BhC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAO3E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIlE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CA2BrD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAwBhC"}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileType: utility
|
|
3
|
-
* @status:
|
|
4
|
-
* @updated: 2025-11-
|
|
5
|
-
* @tags: [session, cursor, event-stream, adr-043, multi-context]
|
|
6
|
-
* @related: [commands/start/index.ts, utils/helpers.ts, lib/write-dispatcher/write-dispatcher.ts]
|
|
7
|
-
* @priority:
|
|
3
|
+
* @status: deprecated
|
|
4
|
+
* @updated: 2025-11-19
|
|
5
|
+
* @tags: [session, cursor, event-stream, adr-043, multi-context, deprecated]
|
|
6
|
+
* @related: [commands/start/index.ts, utils/helpers.ts, lib/write-dispatcher/write-dispatcher.ts, context-loader-events.ts]
|
|
7
|
+
* @priority: low
|
|
8
8
|
* @complexity: medium
|
|
9
9
|
* @dependencies: [fs-extra, simple-git]
|
|
10
|
+
*
|
|
11
|
+
* @deprecated TASK-011: Cursors are over-engineered for our use case.
|
|
12
|
+
* We only need "last N events" queries, not stateful cursor tracking.
|
|
13
|
+
* Use loadRecentEvents() from context-loader-events.ts instead.
|
|
14
|
+
*
|
|
15
|
+
* Kept for backward compatibility during transition period.
|
|
16
|
+
* Will be removed in a future version after cloud-first refactor is complete.
|
|
10
17
|
*/
|
|
11
18
|
import fs from 'fs-extra';
|
|
12
19
|
import path from 'path';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-cursor.js","sourceRoot":"","sources":["../../src/lib/session-cursor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-cursor.js","sourceRoot":"","sources":["../../src/lib/session-cursor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: utility
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-21
|
|
5
|
+
* @tags: [sprint, task-checklist, epic-001, session-context]
|
|
6
|
+
* @related: [charter-loader.ts, start-reflection.ts, context-loader-events.ts]
|
|
7
|
+
* @priority: high
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [fs-extra, path]
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Task state enumeration
|
|
13
|
+
*/
|
|
14
|
+
export type TaskState = 'todo' | 'in_progress' | 'complete';
|
|
15
|
+
/**
|
|
16
|
+
* Individual task from sprint checklist
|
|
17
|
+
*/
|
|
18
|
+
export interface Task {
|
|
19
|
+
id: string;
|
|
20
|
+
title: string;
|
|
21
|
+
state: TaskState;
|
|
22
|
+
files?: string[];
|
|
23
|
+
pattern?: string;
|
|
24
|
+
effort?: string;
|
|
25
|
+
priority?: string;
|
|
26
|
+
relatedADRs?: string[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Sprint checklist with task states and progress
|
|
30
|
+
*/
|
|
31
|
+
export interface SprintChecklist {
|
|
32
|
+
name: string;
|
|
33
|
+
file: string;
|
|
34
|
+
progress: {
|
|
35
|
+
complete: number;
|
|
36
|
+
inProgress: number;
|
|
37
|
+
todo: number;
|
|
38
|
+
total: number;
|
|
39
|
+
};
|
|
40
|
+
tasks: Task[];
|
|
41
|
+
currentTask?: Task;
|
|
42
|
+
recentCompletions: Task[];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Find active sprint file
|
|
46
|
+
*
|
|
47
|
+
* Priority:
|
|
48
|
+
* 1. Check CURRENT-SPRINT.md for "Between Sprints" status → return null
|
|
49
|
+
* 2. Check CURRENT-SPRINT.md for sprint reference → return that file
|
|
50
|
+
* 3. Fall back to scanning SPRINT-*.md files for first incomplete one
|
|
51
|
+
*
|
|
52
|
+
* @param projectRoot - Project root directory
|
|
53
|
+
* @returns Path to active sprint file or null (if between sprints)
|
|
54
|
+
*/
|
|
55
|
+
export declare function findActiveSprint(projectRoot?: string): Promise<string | null>;
|
|
56
|
+
/**
|
|
57
|
+
* Parse sprint markdown into task checklist
|
|
58
|
+
*
|
|
59
|
+
* Looks for:
|
|
60
|
+
* - Sprint name from title (# SPRINT: ...)
|
|
61
|
+
* - Tasks from ## Sprint Tasks or ### TASK-N sections
|
|
62
|
+
* - Checkbox states: [ ], [@], [x]
|
|
63
|
+
* - Task metadata (files, priority, effort)
|
|
64
|
+
*
|
|
65
|
+
* @param markdown - Sprint markdown content
|
|
66
|
+
* @param filePath - Path to sprint file
|
|
67
|
+
* @returns Parsed sprint checklist
|
|
68
|
+
*/
|
|
69
|
+
export declare function parseSprintChecklist(markdown: string, filePath: string): SprintChecklist;
|
|
70
|
+
/**
|
|
71
|
+
* Load active sprint checklist
|
|
72
|
+
*
|
|
73
|
+
* Finds active sprint file and parses into structured checklist
|
|
74
|
+
*
|
|
75
|
+
* @param projectRoot - Project root directory (defaults to git root)
|
|
76
|
+
* @returns Parsed sprint checklist or null if no sprint found
|
|
77
|
+
*/
|
|
78
|
+
export declare function loadSprintChecklist(projectRoot?: string): Promise<SprintChecklist | null>;
|
|
79
|
+
/**
|
|
80
|
+
* Format sprint checklist for display in ginko start
|
|
81
|
+
*
|
|
82
|
+
* @param checklist - Parsed sprint checklist
|
|
83
|
+
* @param maxTasks - Maximum tasks to display before truncating
|
|
84
|
+
* @returns Formatted string for terminal display
|
|
85
|
+
*/
|
|
86
|
+
export declare function formatSprintChecklist(checklist: SprintChecklist, maxTasks?: number): string;
|
|
87
|
+
/**
|
|
88
|
+
* Format current task details for display
|
|
89
|
+
*
|
|
90
|
+
* @param task - Current task
|
|
91
|
+
* @returns Formatted task details
|
|
92
|
+
*/
|
|
93
|
+
export declare function formatCurrentTaskDetails(task: Task): string;
|
|
94
|
+
//# sourceMappingURL=sprint-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprint-loader.d.ts","sourceRoot":"","sources":["../../src/lib/sprint-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,iBAAiB,EAAE,IAAI,EAAE,CAAC;CAC3B;AAiBD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuEnF;AAeD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CA0GxF;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAe/F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAqD9F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAyB3D"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: utility
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-21
|
|
5
|
+
* @tags: [sprint, task-checklist, epic-001, session-context]
|
|
6
|
+
* @related: [charter-loader.ts, start-reflection.ts, context-loader-events.ts]
|
|
7
|
+
* @priority: high
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [fs-extra, path]
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Sprint Loader (EPIC-001 TASK-5)
|
|
13
|
+
*
|
|
14
|
+
* Loads active sprint from filesystem (docs/sprints/SPRINT-*.md)
|
|
15
|
+
* and parses into task checklist with [@] symbol support.
|
|
16
|
+
*
|
|
17
|
+
* Provides AI partners with:
|
|
18
|
+
* - Clear task progress ([ ] / [@] / [x] states)
|
|
19
|
+
* - Current task identification (first [@] or [ ])
|
|
20
|
+
* - Progress visibility (N/M complete, X in progress)
|
|
21
|
+
* - Eliminates task priority ambiguity
|
|
22
|
+
*/
|
|
23
|
+
import fs from 'fs-extra';
|
|
24
|
+
import path from 'path';
|
|
25
|
+
import { execSync } from 'child_process';
|
|
26
|
+
/**
|
|
27
|
+
* Find git root directory
|
|
28
|
+
*/
|
|
29
|
+
async function findGitRoot() {
|
|
30
|
+
try {
|
|
31
|
+
const root = execSync('git rev-parse --show-toplevel', {
|
|
32
|
+
encoding: 'utf-8',
|
|
33
|
+
stdio: ['pipe', 'pipe', 'ignore']
|
|
34
|
+
}).trim();
|
|
35
|
+
return root;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return process.cwd();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Find active sprint file
|
|
43
|
+
*
|
|
44
|
+
* Priority:
|
|
45
|
+
* 1. Check CURRENT-SPRINT.md for "Between Sprints" status → return null
|
|
46
|
+
* 2. Check CURRENT-SPRINT.md for sprint reference → return that file
|
|
47
|
+
* 3. Fall back to scanning SPRINT-*.md files for first incomplete one
|
|
48
|
+
*
|
|
49
|
+
* @param projectRoot - Project root directory
|
|
50
|
+
* @returns Path to active sprint file or null (if between sprints)
|
|
51
|
+
*/
|
|
52
|
+
export async function findActiveSprint(projectRoot) {
|
|
53
|
+
try {
|
|
54
|
+
const root = projectRoot || await findGitRoot();
|
|
55
|
+
const sprintsDir = path.join(root, 'docs', 'sprints');
|
|
56
|
+
if (!fs.existsSync(sprintsDir)) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
// Check CURRENT-SPRINT.md first (source of truth)
|
|
60
|
+
const currentSprintPath = path.join(sprintsDir, 'CURRENT-SPRINT.md');
|
|
61
|
+
if (fs.existsSync(currentSprintPath)) {
|
|
62
|
+
const currentContent = await fs.readFile(currentSprintPath, 'utf-8');
|
|
63
|
+
// Check for "Between Sprints" or "No active sprint" status
|
|
64
|
+
if (currentContent.includes('Between Sprints') ||
|
|
65
|
+
currentContent.includes('No active sprint') ||
|
|
66
|
+
currentContent.match(/\*\*Status\*\*:\s*Between Sprints/i)) {
|
|
67
|
+
return null; // Explicitly between sprints
|
|
68
|
+
}
|
|
69
|
+
// Look for sprint reference: See: SPRINT-YYYY-MM-DD-name.md
|
|
70
|
+
const sprintRefMatch = currentContent.match(/See:\s*(SPRINT-[\w-]+\.md)/i);
|
|
71
|
+
if (sprintRefMatch) {
|
|
72
|
+
const referencedPath = path.join(sprintsDir, sprintRefMatch[1]);
|
|
73
|
+
if (fs.existsSync(referencedPath)) {
|
|
74
|
+
return referencedPath;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Look for **Last Completed**: SPRINT-XXX pattern (means between sprints)
|
|
78
|
+
if (currentContent.match(/\*\*Last Completed\*\*:/)) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Fall back: Get all sprint files sorted by date (newest first)
|
|
83
|
+
const sprintFiles = (await fs.readdir(sprintsDir))
|
|
84
|
+
.filter(f => f.startsWith('SPRINT-') && f.endsWith('.md') && f !== 'CURRENT-SPRINT.md')
|
|
85
|
+
.sort()
|
|
86
|
+
.reverse();
|
|
87
|
+
// Find first sprint that's not complete
|
|
88
|
+
for (const file of sprintFiles) {
|
|
89
|
+
const filePath = path.join(sprintsDir, file);
|
|
90
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
91
|
+
// Check if sprint is marked complete
|
|
92
|
+
const statusMatch = content.match(/\*\*Sprint Status\*\*:\s*(.+)/);
|
|
93
|
+
const progressMatch = content.match(/\*\*Progress\*\*:\s*(\d+)%/);
|
|
94
|
+
// Skip if explicitly marked complete or 100% progress
|
|
95
|
+
if (statusMatch && statusMatch[1].toLowerCase().includes('complete') &&
|
|
96
|
+
!statusMatch[1].includes('[@]')) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (progressMatch && parseInt(progressMatch[1]) === 100) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
return filePath;
|
|
103
|
+
}
|
|
104
|
+
// No active sprint found
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
console.error('Failed to find active sprint:', error.message);
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Parse task state from checkbox symbol
|
|
114
|
+
*
|
|
115
|
+
* @param symbol - Checkbox content: ' ', '@', or 'x'
|
|
116
|
+
* @returns Task state enum
|
|
117
|
+
*/
|
|
118
|
+
function parseTaskState(symbol) {
|
|
119
|
+
const trimmed = symbol.trim();
|
|
120
|
+
if (trimmed === 'x' || trimmed === 'X')
|
|
121
|
+
return 'complete';
|
|
122
|
+
if (trimmed === '@')
|
|
123
|
+
return 'in_progress';
|
|
124
|
+
return 'todo';
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Parse sprint markdown into task checklist
|
|
128
|
+
*
|
|
129
|
+
* Looks for:
|
|
130
|
+
* - Sprint name from title (# SPRINT: ...)
|
|
131
|
+
* - Tasks from ## Sprint Tasks or ### TASK-N sections
|
|
132
|
+
* - Checkbox states: [ ], [@], [x]
|
|
133
|
+
* - Task metadata (files, priority, effort)
|
|
134
|
+
*
|
|
135
|
+
* @param markdown - Sprint markdown content
|
|
136
|
+
* @param filePath - Path to sprint file
|
|
137
|
+
* @returns Parsed sprint checklist
|
|
138
|
+
*/
|
|
139
|
+
export function parseSprintChecklist(markdown, filePath) {
|
|
140
|
+
const lines = markdown.split('\n');
|
|
141
|
+
const tasks = [];
|
|
142
|
+
// Extract sprint name from title
|
|
143
|
+
const titleMatch = markdown.match(/^#\s+SPRINT:\s*(.+?)$/m);
|
|
144
|
+
const sprintName = titleMatch ? titleMatch[1].trim() : path.basename(filePath, '.md');
|
|
145
|
+
let parsingTask = null;
|
|
146
|
+
for (let i = 0; i < lines.length; i++) {
|
|
147
|
+
const line = lines[i];
|
|
148
|
+
// Match task headers: ### TASK-N: Title
|
|
149
|
+
const taskHeaderMatch = line.match(/^###\s+(TASK-\d+):\s*(.+?)(?:\s*\((.+?)\))?$/);
|
|
150
|
+
if (taskHeaderMatch) {
|
|
151
|
+
// Save previous task if exists
|
|
152
|
+
if (parsingTask?.id && parsingTask?.title) {
|
|
153
|
+
tasks.push(parsingTask);
|
|
154
|
+
}
|
|
155
|
+
// Start new task
|
|
156
|
+
parsingTask = {
|
|
157
|
+
id: taskHeaderMatch[1],
|
|
158
|
+
title: taskHeaderMatch[2].trim(),
|
|
159
|
+
effort: taskHeaderMatch[3]?.trim(),
|
|
160
|
+
state: 'todo', // Default, will update from Status line
|
|
161
|
+
files: [],
|
|
162
|
+
};
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
// Match task status: **Status:** [@] In Progress
|
|
166
|
+
const statusMatch = line.match(/\*\*Status:\*\*\s*\[([x@\s])\]\s*(.+)/i);
|
|
167
|
+
if (statusMatch && parsingTask) {
|
|
168
|
+
parsingTask.state = parseTaskState(statusMatch[1]);
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
// Match task priority: **Priority:** HIGH
|
|
172
|
+
const priorityMatch = line.match(/\*\*Priority:\*\*\s*(.+)/i);
|
|
173
|
+
if (priorityMatch && parsingTask) {
|
|
174
|
+
parsingTask.priority = priorityMatch[1].trim();
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
// Match files section
|
|
178
|
+
if (line.match(/^\*\*Files:\*\*/) && parsingTask) {
|
|
179
|
+
// Look ahead for file list
|
|
180
|
+
let j = i + 1;
|
|
181
|
+
while (j < lines.length && lines[j].match(/^-\s+(Create|Modify):/)) {
|
|
182
|
+
const fileMatch = lines[j].match(/^-\s+(?:Create|Modify):\s+`([^`]+)`/);
|
|
183
|
+
if (fileMatch) {
|
|
184
|
+
parsingTask.files = parsingTask.files || [];
|
|
185
|
+
parsingTask.files.push(fileMatch[1]);
|
|
186
|
+
}
|
|
187
|
+
j++;
|
|
188
|
+
}
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
// Extract ADR references from any line in task section (EPIC-002 Phase 1)
|
|
192
|
+
if (parsingTask) {
|
|
193
|
+
const adrMatches = line.matchAll(/ADR-(\d+)/gi);
|
|
194
|
+
for (const match of adrMatches) {
|
|
195
|
+
const adrId = `ADR-${match[1].padStart(3, '0')}`;
|
|
196
|
+
parsingTask.relatedADRs = parsingTask.relatedADRs || [];
|
|
197
|
+
if (!parsingTask.relatedADRs.includes(adrId)) {
|
|
198
|
+
parsingTask.relatedADRs.push(adrId);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// Save last task
|
|
204
|
+
if (parsingTask?.id && parsingTask?.title) {
|
|
205
|
+
tasks.push(parsingTask);
|
|
206
|
+
}
|
|
207
|
+
// Calculate progress
|
|
208
|
+
const complete = tasks.filter(t => t.state === 'complete').length;
|
|
209
|
+
const inProgress = tasks.filter(t => t.state === 'in_progress').length;
|
|
210
|
+
const todo = tasks.filter(t => t.state === 'todo').length;
|
|
211
|
+
// Find current task: first [@], or first [ ] if no [@] exists
|
|
212
|
+
const firstInProgress = tasks.find(t => t.state === 'in_progress');
|
|
213
|
+
const firstTodo = tasks.find(t => t.state === 'todo');
|
|
214
|
+
const currentTask = firstInProgress || firstTodo;
|
|
215
|
+
// Recent completions: last 3 completed tasks
|
|
216
|
+
const completedTasks = tasks.filter(t => t.state === 'complete');
|
|
217
|
+
const recentCompletions = completedTasks.slice(-3).reverse();
|
|
218
|
+
return {
|
|
219
|
+
name: sprintName,
|
|
220
|
+
file: filePath,
|
|
221
|
+
progress: {
|
|
222
|
+
complete,
|
|
223
|
+
inProgress,
|
|
224
|
+
todo,
|
|
225
|
+
total: tasks.length,
|
|
226
|
+
},
|
|
227
|
+
tasks,
|
|
228
|
+
currentTask,
|
|
229
|
+
recentCompletions,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Load active sprint checklist
|
|
234
|
+
*
|
|
235
|
+
* Finds active sprint file and parses into structured checklist
|
|
236
|
+
*
|
|
237
|
+
* @param projectRoot - Project root directory (defaults to git root)
|
|
238
|
+
* @returns Parsed sprint checklist or null if no sprint found
|
|
239
|
+
*/
|
|
240
|
+
export async function loadSprintChecklist(projectRoot) {
|
|
241
|
+
try {
|
|
242
|
+
const sprintFile = await findActiveSprint(projectRoot);
|
|
243
|
+
if (!sprintFile) {
|
|
244
|
+
return null;
|
|
245
|
+
}
|
|
246
|
+
const content = await fs.readFile(sprintFile, 'utf-8');
|
|
247
|
+
return parseSprintChecklist(content, sprintFile);
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
console.error('Failed to load sprint checklist:', error.message);
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Format sprint checklist for display in ginko start
|
|
256
|
+
*
|
|
257
|
+
* @param checklist - Parsed sprint checklist
|
|
258
|
+
* @param maxTasks - Maximum tasks to display before truncating
|
|
259
|
+
* @returns Formatted string for terminal display
|
|
260
|
+
*/
|
|
261
|
+
export function formatSprintChecklist(checklist, maxTasks = 7) {
|
|
262
|
+
const { name, progress, tasks, currentTask } = checklist;
|
|
263
|
+
let output = '';
|
|
264
|
+
// Header with progress
|
|
265
|
+
output += `📋 Active Sprint: ${name}\n`;
|
|
266
|
+
const progressPercent = progress.total > 0
|
|
267
|
+
? Math.round((progress.complete / progress.total) * 100)
|
|
268
|
+
: 0;
|
|
269
|
+
let progressLine = `Progress: ${progress.complete}/${progress.total} complete`;
|
|
270
|
+
if (progress.inProgress > 0) {
|
|
271
|
+
progressLine += `, ${progress.inProgress} in progress`;
|
|
272
|
+
}
|
|
273
|
+
progressLine += ` (${progressPercent}%)`;
|
|
274
|
+
output += progressLine + '\n\n';
|
|
275
|
+
// Sprint complete celebration
|
|
276
|
+
if (progress.complete === progress.total && progress.total > 0) {
|
|
277
|
+
output += '🎉 Sprint Complete! All tasks done.\n';
|
|
278
|
+
return output;
|
|
279
|
+
}
|
|
280
|
+
// Task list
|
|
281
|
+
output += 'Tasks:\n';
|
|
282
|
+
const displayTasks = tasks.slice(0, maxTasks);
|
|
283
|
+
for (const task of displayTasks) {
|
|
284
|
+
const symbol = task.state === 'complete' ? '[x]' :
|
|
285
|
+
task.state === 'in_progress' ? '[@]' : '[ ]';
|
|
286
|
+
const marker = currentTask && task.id === currentTask.id ? ' ← RESUME HERE' : '';
|
|
287
|
+
output += ` ${symbol} ${task.id}: ${task.title}${marker}\n`;
|
|
288
|
+
}
|
|
289
|
+
// Truncation indicator
|
|
290
|
+
if (tasks.length > maxTasks) {
|
|
291
|
+
const remaining = tasks.length - maxTasks;
|
|
292
|
+
output += ` ... (${remaining} more tasks)\n`;
|
|
293
|
+
}
|
|
294
|
+
// Multiple in-progress warning
|
|
295
|
+
if (progress.inProgress > 1) {
|
|
296
|
+
const inProgressTasks = tasks.filter(t => t.state === 'in_progress');
|
|
297
|
+
output += `\n⚠️ Multiple tasks in progress (${progress.inProgress})\n`;
|
|
298
|
+
output += `Primary: ${inProgressTasks[0].id}\n`;
|
|
299
|
+
output += `Also active: ${inProgressTasks.slice(1).map(t => t.id).join(', ')}\n`;
|
|
300
|
+
}
|
|
301
|
+
return output;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Format current task details for display
|
|
305
|
+
*
|
|
306
|
+
* @param task - Current task
|
|
307
|
+
* @returns Formatted task details
|
|
308
|
+
*/
|
|
309
|
+
export function formatCurrentTaskDetails(task) {
|
|
310
|
+
let output = `🎯 Current Task (${task.id}):\n`;
|
|
311
|
+
output += ` Status: ${task.state === 'in_progress' ? 'In progress' : 'Ready to start'}\n`;
|
|
312
|
+
if (task.files && task.files.length > 0) {
|
|
313
|
+
output += ` Files: ${task.files.slice(0, 3).join(', ')}`;
|
|
314
|
+
if (task.files.length > 3) {
|
|
315
|
+
output += ` (+${task.files.length - 3} more)`;
|
|
316
|
+
}
|
|
317
|
+
output += '\n';
|
|
318
|
+
}
|
|
319
|
+
if (task.pattern) {
|
|
320
|
+
output += ` Pattern: ${task.pattern}\n`;
|
|
321
|
+
}
|
|
322
|
+
if (task.priority) {
|
|
323
|
+
output += ` Priority: ${task.priority}\n`;
|
|
324
|
+
}
|
|
325
|
+
if (task.effort) {
|
|
326
|
+
output += ` Effort: ${task.effort}\n`;
|
|
327
|
+
}
|
|
328
|
+
return output;
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=sprint-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprint-loader.js","sourceRoot":"","sources":["../../src/lib/sprint-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: utility
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-21
|
|
5
|
+
* @tags: [sprint, graph-sync, task-1, epic-001]
|
|
6
|
+
* @related: [charter-loader.ts, context-loader-events.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [fs-extra, path, child_process]
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Structured sprint graph data
|
|
13
|
+
* Ready for Neo4j sync via graph API
|
|
14
|
+
*/
|
|
15
|
+
export interface SprintGraph {
|
|
16
|
+
sprint: {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
goal: string;
|
|
20
|
+
epicId: string;
|
|
21
|
+
startDate: Date;
|
|
22
|
+
endDate: Date;
|
|
23
|
+
duration: string;
|
|
24
|
+
type: string;
|
|
25
|
+
successCriteria: string[];
|
|
26
|
+
progress: number;
|
|
27
|
+
};
|
|
28
|
+
tasks: Array<{
|
|
29
|
+
id: string;
|
|
30
|
+
title: string;
|
|
31
|
+
status: 'not_started' | 'in_progress' | 'complete';
|
|
32
|
+
effort: string;
|
|
33
|
+
priority: string;
|
|
34
|
+
owner?: string;
|
|
35
|
+
goal: string;
|
|
36
|
+
acceptanceCriteria: string[];
|
|
37
|
+
files: string[];
|
|
38
|
+
relatedADRs: string[];
|
|
39
|
+
}>;
|
|
40
|
+
relationships: {
|
|
41
|
+
sprintContainsTasks: string[][];
|
|
42
|
+
sprintNextTask: string | null;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Load sprint from filesystem
|
|
47
|
+
*
|
|
48
|
+
* @param sprintPath - Path to sprint markdown file (optional, defaults to active sprint)
|
|
49
|
+
* @returns Parsed sprint graph or null if not found
|
|
50
|
+
*/
|
|
51
|
+
export declare function loadSprint(sprintPath?: string): Promise<SprintGraph | null>;
|
|
52
|
+
/**
|
|
53
|
+
* Parse sprint markdown into graph structure
|
|
54
|
+
*
|
|
55
|
+
* Extracts:
|
|
56
|
+
* - Sprint metadata (name, goal, dates, progress)
|
|
57
|
+
* - Tasks with status, effort, priority, files, ADRs
|
|
58
|
+
* - Relationships (CONTAINS, NEXT_TASK)
|
|
59
|
+
*
|
|
60
|
+
* @param content - Raw sprint markdown content
|
|
61
|
+
* @returns Structured sprint graph data
|
|
62
|
+
*/
|
|
63
|
+
export declare function parseSprint(markdown: string): Promise<SprintGraph>;
|
|
64
|
+
/**
|
|
65
|
+
* Sync sprint file to graph (full workflow)
|
|
66
|
+
*
|
|
67
|
+
* Steps:
|
|
68
|
+
* 1. Read sprint markdown file
|
|
69
|
+
* 2. Parse into SprintGraph structure
|
|
70
|
+
* 3. Create/update Sprint node
|
|
71
|
+
* 4. Create/update Task nodes
|
|
72
|
+
* 5. Create relationships (CONTAINS, NEXT_TASK)
|
|
73
|
+
* 6. Create Task→File relationships (MODIFIES)
|
|
74
|
+
*
|
|
75
|
+
* @param sprintFile - Path to sprint markdown file
|
|
76
|
+
* @returns Promise resolving when sync complete
|
|
77
|
+
*/
|
|
78
|
+
export declare function syncSprintToGraph(sprintFile: string): Promise<void>;
|
|
79
|
+
//# sourceMappingURL=sprint-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sprint-parser.d.ts","sourceRoot":"","sources":["../../src/lib/sprint-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA6BH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,IAAI,CAAC;QAChB,OAAO,EAAE,IAAI,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC,CAAC;IACH,aAAa,EAAE;QACb,mBAAmB,EAAE,MAAM,EAAE,EAAE,CAAC;QAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;CACH;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAcjF;AA8CD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA+DxE;AA0LD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBzE"}
|