@cleocode/core 2026.3.46 → 2026.3.48
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/bootstrap.d.ts.map +1 -1
- package/dist/index.js +44 -41
- package/dist/index.js.map +3 -3
- package/dist/init.d.ts +1 -3
- package/dist/init.d.ts.map +1 -1
- package/dist/project-info.d.ts +5 -0
- package/dist/project-info.d.ts.map +1 -1
- package/dist/scaffold.d.ts +19 -0
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/upgrade.d.ts +6 -0
- package/dist/upgrade.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/__tests__/injection-chain.test.d.ts +4 -3
- package/src/__tests__/injection-chain.test.d.ts.map +1 -1
- package/src/__tests__/injection-chain.test.js +11 -10
- package/src/__tests__/injection-chain.test.js.map +1 -1
- package/src/__tests__/injection-chain.test.ts +3 -2
- package/src/__tests__/injection-mvi-tiers.test.js +4 -2
- package/src/__tests__/injection-mvi-tiers.test.js.map +1 -1
- package/src/bootstrap.ts +34 -5
- package/src/init.ts +1 -8
- package/src/injection.ts +6 -6
- package/src/project-info.ts +16 -1
- package/src/scaffold.ts +52 -2
- package/src/sessions/__tests__/briefing.test.js +28 -2
- package/src/sessions/__tests__/briefing.test.js.map +1 -1
- package/src/skills/__tests__/routing-table.test.js +48 -31
- package/src/skills/__tests__/routing-table.test.js.map +1 -1
- package/src/skills/orchestrator/__tests__/spawn-tier.test.js +41 -32
- package/src/skills/orchestrator/__tests__/spawn-tier.test.js.map +1 -1
- package/src/store/__tests__/project-detect.test.js +1 -1
- package/src/store/__tests__/project-detect.test.js.map +1 -1
- package/src/store/__tests__/test-db-helper.d.ts.map +1 -1
- package/src/store/__tests__/test-db-helper.js +0 -1
- package/src/store/__tests__/test-db-helper.js.map +1 -1
- package/src/upgrade.ts +49 -2
- package/src/validation/doctor/checks.ts +4 -4
|
@@ -69,7 +69,6 @@ export async function seedTasks(accessor, tasks) {
|
|
|
69
69
|
}
|
|
70
70
|
// Build full Task objects from partials
|
|
71
71
|
const fullTasks = makeTasks(tasks);
|
|
72
|
-
|
|
73
72
|
// Pass 1: Upsert all tasks without dependencies so FK targets exist
|
|
74
73
|
for (const task of fullTasks) {
|
|
75
74
|
await accessor.upsertSingleTask({ ...task, depends: undefined });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-db-helper.js","sourceRoot":"","sources":["test-db-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AActE;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1D,oDAAoD;IACpD,YAAY,EAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEvC,OAAO;QACL,OAAO;QACP,OAAO;QACP,QAAQ;QACR,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"test-db-helper.js","sourceRoot":"","sources":["test-db-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AActE;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1D,oDAAoD;IACpD,YAAY,EAAE,CAAC;IAEf,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEvC,OAAO;QACL,OAAO;QACP,OAAO;QACP,QAAQ;QACR,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAA4C;IACpE,OAAO,KAAK,CAAC,GAAG,CACd,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;QACC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;QAChC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;QACvC,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;QAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ;QAChC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClD,GAAG,CAAC;KACL,CAAS,CACb,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAsB,EACtB,KAA4C;IAE5C,+CAA+C;IAC/C,MAAM,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAExD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,wCAAwC;IACxC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEnC,oEAAoE;IACpE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,QAAQ,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,0EAA0E;IAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrE,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/src/upgrade.ts
CHANGED
|
@@ -85,10 +85,21 @@ export interface UpgradeResult {
|
|
|
85
85
|
* @param options.dryRun Preview changes without applying
|
|
86
86
|
* @param options.includeGlobal Also check global ~/.cleo
|
|
87
87
|
* @param options.autoMigrate Auto-migrate storage if needed (default: true)
|
|
88
|
+
* @param options.forceDetect Force re-detection of project type (ignore staleness)
|
|
89
|
+
* @param options.mapCodebase Run full codebase analysis and store to brain.db
|
|
90
|
+
* @param options.projectName Update project name in project-info and nexus
|
|
88
91
|
* @param options.cwd Project directory override
|
|
89
92
|
*/
|
|
90
93
|
export async function runUpgrade(
|
|
91
|
-
options: {
|
|
94
|
+
options: {
|
|
95
|
+
dryRun?: boolean;
|
|
96
|
+
includeGlobal?: boolean;
|
|
97
|
+
autoMigrate?: boolean;
|
|
98
|
+
forceDetect?: boolean;
|
|
99
|
+
mapCodebase?: boolean;
|
|
100
|
+
projectName?: string;
|
|
101
|
+
cwd?: string;
|
|
102
|
+
} = {},
|
|
92
103
|
): Promise<UpgradeResult> {
|
|
93
104
|
const isDryRun = options.dryRun ?? false;
|
|
94
105
|
const autoMigrate = options.autoMigrate ?? true;
|
|
@@ -635,7 +646,9 @@ export async function runUpgrade(
|
|
|
635
646
|
}
|
|
636
647
|
}
|
|
637
648
|
} else {
|
|
638
|
-
const contextResult = await ensureProjectContext(projectRootForContext, {
|
|
649
|
+
const contextResult = await ensureProjectContext(projectRootForContext, {
|
|
650
|
+
staleDays: options.forceDetect ? 0 : 30,
|
|
651
|
+
});
|
|
639
652
|
actions.push({
|
|
640
653
|
action: 'project_context_detection',
|
|
641
654
|
status: contextResult.action === 'skipped' ? 'skipped' : 'applied',
|
|
@@ -886,6 +899,40 @@ export async function runUpgrade(
|
|
|
886
899
|
/* best-effort */
|
|
887
900
|
}
|
|
888
901
|
|
|
902
|
+
// Run codebase mapping if requested (delegates to core mapCodebase)
|
|
903
|
+
if (options.mapCodebase) {
|
|
904
|
+
try {
|
|
905
|
+
const { mapCodebase } = await import('./codebase-map/index.js');
|
|
906
|
+
const mapResult = await mapCodebase(projectRootForMaint, { storeToBrain: true });
|
|
907
|
+
actions.push({
|
|
908
|
+
action: 'codebase_map',
|
|
909
|
+
status: 'applied',
|
|
910
|
+
details: `Analyzed: ${mapResult.stack?.languages?.length ?? 0} languages, ${mapResult.concerns?.todos?.length ?? 0} TODOs found`,
|
|
911
|
+
});
|
|
912
|
+
} catch (err) {
|
|
913
|
+
actions.push({
|
|
914
|
+
action: 'codebase_map',
|
|
915
|
+
status: 'error',
|
|
916
|
+
details: `Codebase mapping failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
917
|
+
});
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
// Update project name if requested (delegates to core updateProjectName)
|
|
922
|
+
if (options.projectName) {
|
|
923
|
+
try {
|
|
924
|
+
const { updateProjectName } = await import('./project-info.js');
|
|
925
|
+
await updateProjectName(projectRootForMaint, options.projectName);
|
|
926
|
+
actions.push({
|
|
927
|
+
action: 'project_name_update',
|
|
928
|
+
status: 'applied',
|
|
929
|
+
details: `Project name set to "${options.projectName}"`,
|
|
930
|
+
});
|
|
931
|
+
} catch {
|
|
932
|
+
/* best-effort */
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
|
|
889
936
|
// GitHub issue/PR templates — install missing ones, warn if absent
|
|
890
937
|
try {
|
|
891
938
|
const { existsSync: fsExistsSync } = await import('node:fs');
|
|
@@ -211,7 +211,7 @@ export function checkAgentsMdHub(projectRoot?: string): CheckResult {
|
|
|
211
211
|
status: 'warning',
|
|
212
212
|
message: 'AGENTS.md not found in project root',
|
|
213
213
|
details: { path: agentsMdPath, exists: false },
|
|
214
|
-
fix: 'cleo
|
|
214
|
+
fix: 'cleo upgrade',
|
|
215
215
|
};
|
|
216
216
|
}
|
|
217
217
|
|
|
@@ -236,7 +236,7 @@ export function checkAgentsMdHub(projectRoot?: string): CheckResult {
|
|
|
236
236
|
status: 'warning',
|
|
237
237
|
message: 'AGENTS.md exists but has no CAAMP:START marker',
|
|
238
238
|
details: { path: agentsMdPath, hasCaampMarker: false },
|
|
239
|
-
fix: 'cleo
|
|
239
|
+
fix: 'cleo upgrade',
|
|
240
240
|
};
|
|
241
241
|
}
|
|
242
242
|
|
|
@@ -709,7 +709,7 @@ export function checkCaampMarkerIntegrity(projectRoot?: string): CheckResult {
|
|
|
709
709
|
status: 'warning',
|
|
710
710
|
message: `CAAMP marker issues: ${issues.join('; ')}`,
|
|
711
711
|
details: { issues },
|
|
712
|
-
fix: 'cleo
|
|
712
|
+
fix: 'cleo upgrade',
|
|
713
713
|
};
|
|
714
714
|
}
|
|
715
715
|
|
|
@@ -797,7 +797,7 @@ export function checkAtReferenceTargetExists(projectRoot?: string): CheckResult
|
|
|
797
797
|
status: 'warning',
|
|
798
798
|
message: `Missing @ reference targets: ${missing.join(', ')}`,
|
|
799
799
|
details: { missing, totalRefs: refs.length },
|
|
800
|
-
fix: 'cleo
|
|
800
|
+
fix: 'cleo upgrade',
|
|
801
801
|
};
|
|
802
802
|
}
|
|
803
803
|
|